After a tense first set, the U.S. Open champion reeled off six consecutive games in the second to beat the French Open winner and claim her first Miami title after a slow start to the season.
“I wasn’t expecting a title here or anywhere, really. I just wanted to make sure I got my game back where I wanted it to be,” Florida native Stephens said in a courtside interview after extending her record in finals to 6-0.
“I knew if I just got back to the drawing board I would be OK.”
The crowd favourite had just six winners, compared with 25 for Ostapenko, but 48 unforced errors by the Latvian and Stephens’ relentless defence were the difference.
Adding to her triumphant weekend, Stephens, who was seeded only 13th in Miami, will make her world top-10 debut on Monday, after rising to number nine.
Their error-strewn first set began with four consecutive service breaks and went to 6-6 before Stephens pushed ahead 6-2 in the tiebreak.
Ostapenko saved four set points but couldn’t halt Stephens as the Latvian lost her first tiebreak - and first set - of the tournament when Stephens’ return pulled Ostapenko wide to the backhand and the Latvian netted.
Ostapenko grabbed the first break in the second set, but Stephens broke straight back and cruised to victory in an hour and 31 minutes.
“I was a little nervous and it was showing in my game,” Stephens said of the first set. “My feet weren’t moving. I wasn’t swinging good at the ball.
“I just needed a little reminder to go for my shots, go for my forehand and really go for it if I wanted to take the title.”