It was brilliance from the outset for Bottas, as the Mercedes driver successfully got the jump on his Ferrari rivals on the front-row of the grid. Despite starting from third, Bottas snagged the lead on Turn 2, and there was no looking back from there for the Finn.
However, there was some early drama on-track - as Haas's Romain Grosjean and Renault's Jolyon Palmer made contact on the opening lap, forcing both drivers to retire while a safety car brought the pack back together as Bottas led the way.
The drama continued in the early stages, as Daniel Ricciardo was also forced to retire from the race due to rear brake issues - continuing the string of bad luck for the Aussie driver.
Once the safety car came back in, Bottas surged in front of the field and extended his lead over Vettel to 5.3 seconds - but this lead slowly started to dwindle, causing Mercedes to call him in for his sole pit stop on Lap 27, as Vettel gained the race lead.
Ferrari opted to keep Vettel on-track on degrading tyres - and let the German driver stay out for an extra six laps, eventually emerging from the pits behind Bottas.
However, in the ensuing laps - Vettel looked to be gaining on Bottas, slashing as much as a second a lap off the race-lead and beginning his pursuit of his Finnish rival.
With 12 laps to go, Bottas only led by 1.5 seconds - and the lead was slowly dwindling as the laps ticked on.
Going into the final lap, there was less than a second between the two - but Bottas eventually held his nerve to cross the chequered flag 0.6 seconds ahead of Vettel to claim his maiden Formula 1 victory.
Kimi Raikkonen finished third, just over 10 seconds behind the pace - while Lewis Hamilton finished fourth after suffering with overheating issues during the race.
Red Bull's Max Verstappen finished in fifth and was largely untested during the race, while the Force India duo of Sergio Perez and Esteban Ocon finished sixth and seventh respectively.
Renault's Nico Hulkenberg crossed the line eighth after a mammoth 40-lap stint on ultrasoft tyres, while Felipe Massa (Williams) and Carlos Sainz (Toro Rosso) rounded out the points.