Vettel tog första segern för säsongen
Den 21-årige monegasken blev tvåa och Red Bulls Max Verstappen trea.
Ett taktiskt beslut från Ferrari under loppet som kallade in Vettel i depån tidigare än de andra och det visade sig vara ett succédrag för tysken. Den fyrfaldige världsmästaren kom ut på en fri bana och tog över ledningen när Leclerc, som var snabbast både på träningen och i kvalet och startade längst fram, gick in i depån. Efteråt var Leclerc märkbart irriterad.
– Ska jag vara ärlig så förstår jag inte alls beslutet. Det är inte rättvist, sade han i radion.
"Klart jag är besviken"
Ferrari beordrade sedan 21-åringen, som hade två raka segrar, att ta bilen säkert i mål och han attackerade inte sin kollega, som tog sin första seger på över ett år.
– Det är alltid svårt att tappa en seger på det sättet. Samtidigt är jag glad över dubbelsegern, det är den första för i år. Vi kom hit och hade hoppats på en pallplats, men kommer hem med en dubbelseger. Det är klart jag är besviken, men det hade alla varit i den här situationen. Jag kommer att komma tillbaka starkare, sade Leclerc i Viasats sändning.
Vettel:
– Jag tyckte att det var lite tidigt när jag blev inkallad i depån, men när jag insåg att de andra stannade kvar på banan gav jag allt och jag var väldigt överraskad över att jag var först efter depåstoppen, säger Vettel.
Hamilton drygar ut
Förhandsfavoriten och totalledaren Lewis Hamilton fick nöja sig med en fjärdeplats, före stallkamraten Valtteri Bottas och därmed petades Mercedes helt från pallen.
Resultaten innebär att Hamilton drygade ut sin ledning i totalen. Britten har nu 65 poäng ner till stallkamraten Bottas med sex tävlingar kvar att köra.
Nästa stopp är i ryska Sotji om en vecka.