The only change to the entry list for the San Marino Grand Prix was the arrival of Gabriele Tarquini in the second car of the small AGS team, which had only run one car in Brazil after Philippe Streiff had suffered career ending injuries in pre-season testing. A record 39 cars were entered for the Grand Prix, although only 26 were allowed to start the race.
At the start Ayrton Senna got away well but behind him Alain Prost found himself just ahead of Nigel Mansell's Ferrari but the Englishman could not find his way around Prost's McLaren. Mansell fell off a little after that and found himself battling with Riccardo Patrese while on the second lap Ivan Capelli had a nasty accident in his March. On lap four, fifth-placed Gerhard Berger's Ferrari speared off the track at the fast Tamburello corner due to a mechanical failure. Berger hit the wall at an estimated 180 mph and when his car came to a rest it immediately burst into flames. Three fire marshalls (Bruno Miniati, Paolo Verdi and Gabriele Violi) arrived on foot sixteen seconds after impact and the fire was put out ten seconds later. The race was red-flagged and Berger escaped with broken ribs and second-degree burns.
The race was restarted after half an hour and run a further 55 laps on aggregate timing. This time Prost got away much better and got past Senna while behind them Mansell made a poor start and fell behind Patrese and Alessandro Nannini. On the run-down to the Tosa hairpin Senna got alongside Prost into Villeneuve and out-braked him into Tosa. The McLarens proceeded to pull away from the competition while behind them there was more drama as Stefano Modena put his Brabham into the wall rather violently, escaping unhurt.
As the McLarens pulled away Mansell, Patrese, and Nannini were busy fighting over third place. It was settled in the space of three laps as Patrese retired with a timing belt failure and Mansell followed shortly afterwards with a gearbox problem. This left Nannini in third while up front Senna cruised home to victory from Prost who, in his pursuit of Senna, had suffered a spin on lap 42 at Variante Bassa. Nannini led home Thierry Boutsen, Derek Warwick in the Arrows and Jonathan Palmer in the Tyrrell. Olivier Grouillard was disqualified because Ligier illegally repaired his car on the grid before the second start. Thierry Boutsen and Alex Caffi were initially disqualified after a protest from Ligier because they had changed tyres in the pitlane before the second start, but were reinstated following an appeal.
The Prost/Senna war began to build up speed after the Frenchman said that McLaren had a pre-race agreement that whoever led into the first turn should stay there, which was ironically suggested by Senna. In Prost's view, Senna had broken this agreement by passing him partway round the first lap after the restart.