Dominic Thiem ended Roger Federer's bid for a record sixth Indian Wells title with a battling three-set victory in the final in California.
The Austrian seventh seed fought back to beat Federer 3-6 6-3 7-5.
Swiss Federer, a 20-time Grand Slam champion, converted just two of 11 break points and made 32 unforced errors to Thiem's 25.
Thiem secured his first title at a Masters 1000 event and will rise to fourth in the world rankings on Monday.
"It feels just unreal what happened in this 10 days," Thiem said after winning his first event since September 2018.
"I came from a really bad form in all categories, and now I'm the champion of Indian Wells."
Federer, who lost last year's final in Indian Wells to Juan Martin del Potro, made a confident start.
He created early break opportunities in Thiem's first service game and converted his fourth break point of the opening set for a 2-0 lead.
Thiem, competing in his third Masters 1000 final, forced the error out of Federer's backhand to get back on serve, but the Swiss kept him under pressure.
A fine backhand return of serve allowed Federer to break for a 5-3 lead, and he closed out the set in 36 minutes.
Federer looked comfortable and quickly created another two break opportunities in the second set, but the 37-year-old squandered them both.
A poor service game, with Federer rushing his approaches to the net, allowed Thiem to break and the Austrian held his nerve to force an unlikely third set.
Thiem saved a break point in a game lasting eight minutes to hold for 4-4, and overcame a nasty fall to break Federer three games later and serve for the title.
The Austrian, who won 70% of first-serve points, wrapped up the win when Federer sent a return into the net.
Federer, who won his 100th ATP title in Dubai in the week before Indian Wells, will move to fifth in the world rankings.