A Magyar Nagydíj rajtját az élről induló Michael Schumacher kapta el legjobban. Montoya megőrizte második helyét, Räikkönen leelőzte Trullit, így feljött a harmadik helyre, míg Alonso ütközött Ralf Schumacherrel, az első vezetőszárnya megsérült, így ki kellett állnia cserére a boxutcába. Az első kanyarban Villeneuve karambolozott Kliennel, a Red Bull versenyzője nem tudta folytatni a versenyt. Kiesett David Coulthard is, akit eltalált az Alonso autójáról leszakadt első szárny, és eltört a felfüggesztése. Alonso és Barrichello alaposan hátracsúszott.
A harmadik körben Räikkönen leelőzte csapattársát, majd szorosan követte az éllovas Schumachert is. A finn és a német meglépett a mezőnytől, a harmadik helyen a kolumbiai Montoya autózott.
A 11. körben Räikkönen kiállt a boxba, és csak az ötödik helyre tudott visszatérni. Két körrel később Trulli, majd Button és Szato is követte a finn versenyzőt a boxutcába.
A 14. körben mindkét Schumacher kiállt: Ralf és Michael is üzemanyagot kapott. Így Montoya vette át a vezetést, a Ferrari német pilótája a második helyre jött vissza. Montoya a 21. körben állt ki tankolni, így Schumacher visszavette a vezetést, a kolumbiai pedig haramadik helyre tudott beállni. Visszaállt az a sorrend, amely a rajt után alakult ki, és a helyzet is hasonló volt: Räikkönen támadta az élen álló ferrarist, de Schumacher jól tartotta magát.
A 25. körben a hátsó régióban autózó Barrichello csúszott ki, így Fisichella meg tudta előzni.
Räikkönen egyre gyorsabb volt, de Schumacher továbbra sem engedte előzni. A 35. körben Michael Schumacher másodszor is kiállt tankolni, majd egy körrel később Räikkönen autóját is újratöltötték, aki meg tudta előzni még Schumachert. Az élen ekkor Montoya állt, aki azonban a 40. körben feladni kényszerült a versenyt motorhiba miatt. A vezetést csapattársa, Räikkönen vette át, aki rendre gyorsabb köröket teljesített, mint a világbajnoki cím védője, így növelte előnyét. A harmadik helyen Ralf Schumacher autózott, mögötte Trulli, Button, Heidfeld volt a sorrend. A vb-éllovas Alonso kiszorult az első tízből.
A 44. körben Fisichella csúszott ki, de folytatni tudta. Ez nem sikerült Massának, akinek az autója a boxban kezdett füstölni. A 47. körben az éllovas Räikkönen harmadik tankolása után is vissza tudott jönni az első helyre. Az 54. körben Ralf Schumacher állt ki tankolni a harmadik helyről. Két körrel később testvére is kiállt, de a világbajnok vissza tudott jönni a második helyre.
Egy másik világbajnok, Villeneuve azonban feladni kényszerült a versenyt. Az élen továbbra is Räikkönen állt, egyre nagyobb előnnyel, míg a két Shumacher egymással harcolt a második helyért. A futam további körei is a testvárharcról szóltak, ám Ralf nem tudott elmenni bátyja mellett, noha közel került hozzá.
A XX. Magyar Nagydíjat a finn Räikkönen nyerte, sikerét igazán nem fenyegette veszély. A vb-éllovas Alonso a 11. helyen zárt, így a McLaren versenyzője 26 pontra csökkentette lemaradását a pontvadászatban. A két Schumacher mögött negyedikként Jarno Trulli, ötödikként Jenson Button, hatodikként Nick Heidfeld zárt. A hetedik helyen ért célba Mark Webber, a nyolcadik pedig Szato Takuma lett.

Három magyar egyetem is bekerült a világ legjobbjai közé