Played in cool, cloudy conditions, the match was punctuated by short rallies and inconsistent shot-making by both players until the final set.
Down 4-5 and serving at deuce, Kenin double-faulted then hit a forehand wide to give fourth-seeded Krejcikova the victory.
In addition to the $120,150 winner's check and glass trophy, the 5-foot-10 Krejcikova -- the 2021 French Open winner -- was presented with a shiny new 5-foot-9 surfboard, emblematic of the event's close proximity to the beach.
"I don't know how I'm going to bring all these trophies back home because I only have three bags," said Krejcikova, 27, who describes her style of play as never giving up. "But I'm really happy I won."
Krejcikova, of Czechia (widely known in English as the Czech Republic), also won in Dubai in February.
Kenin, 24, competed in her first final since the American was the runner-up at the 2020 French Open.
"Of course, I'm disappointed," said the unseeded Kenin, who is ranked No. 93. "But last year I lost in the first round and this year I got to the finals against Barbora, who's a great player."
Held for the second straight year, the San Diego Open is a WTA 500 event with a total purse of $780,637 and 500 ranking points.