Sinner, who reached last year's French Open quarter-finals, defeated Bautista 5-7 6-4 6-4 after two hours and 28 minutes to become only the fourth teen to reach the men's final in the 36-year history of the ATP Masters 1000 hardcourt event.
The 19-year-old Italian, playing only his third ATP Masters 1000 tournament, joined 1990 champion Andre Agassi, 2005 runner-up Rafael Nadal and 2007 winner Novak Djokovic as Miami teen finalists.
Sinner will play for the title on Monday (AEDT) against the winner of the semi-final between No.4 seed Andrey Rublev and No.26 seed Hubert Hurkacz, from Russia and Poland respectively. Hurkacz eliminated No.2 seed Stefanos Tsitsipas, the big star from Greece.
Sinner is seeking his third career ATP title after last year at Sofia and February in an Australian Open tune-up at Melbourne.
Bautista, who ousted Russia's Daniil Medvedev, the No.1 seed, in the quarter-finals, missed out on his second career ATP Masters 1000 final after 2016 at Shanghai, where he lost to Britain's Andy Murray.
Bautista broke to open the Miami semi, then saved two break points and held for a 2-0 lead, but Sinner broke back at love in the sixth game to level at 3-3.
The Spaniard broke again to 6-5 when Sinner netted a backhand and he held to claim the set on his second ace after 51 minutes.
In the second set, Sinner saved four break points in the seventh game to hold but sent a backhand wide on his first break chance in the eighth games as Bautista held to 4-4.
Sinner held and then broke when the Spaniard netted a backhand to force a third set.
Bautista broke at love for a 2-1 lead in the deciding set, but Sinner roared back to claim the victory and ensure himself a place in next week's ATP top 25.
Bautista, who at 32 was chasing his 10th career ATP crown, lost his only prior match with Sinner last month at Dubai 6-4 3-6 7-5, with the Italian firing 16 aces.