In a hard-fought battle, the Croatian prevailed 6-3 7-5 after Britain’s number one collapsed late in the second set.
It was a nervy start for both players as the pair traded breaks in the opening two games, but Vekic claimed the edge at 5-3, before going on to serve out the first set.
Konta, the number eight seed, opened the second set by losing her serve but dug in to break Vekic at 2-2 and again for a 5-3 lead.
Federer, Murray fall in major ranking shake-up; Norrie, Badosa into top 15
But Konta could not maintain the momentum, losing the final four games of the match as Vekic served out the match with an ace to advance to her third semi-final of the year.
Vekic will now take on Wang Yafan, who beat Beatriz Haddad Maia 6-3 6-4, while Bianca Andreescu continued her fine form in 2019 to reach the semi-finals after a 7-6 (3) 6-1 win over Zheng Saisai.
The Canadian reached her first WTA final in Auckland and secured a Challenger in the United States in January and needed two hours and one minute to see off her world number 40 Chinese oppontent.
Also through to the last four is fifth seed Sofia Kenin, who battled past two-time grand slam winner Victoria Azarenka 6-4 4-6 7-5.
Azarenka led 5-4 in the decider before she crumbled after dropping her serve to love and could not hold serve in the final game to force a tie-break, handing victory to the number five seed in two hours and 34 minutes.
WTA Indian Wells
Badosa edges to title and denies Azarenka history
Indian Wells final - Norrie v Basilashvili as it happened