Ayrton Senna claimed his 55th pole position from Riccardo Patrese, Alain Prost, Nigel Mansell and Gerhard Berger. However,the warm-up lap saw two dramatic incidents - Prost spun off the track at Rivazza Turn, followed by Berger, who was able to continue. However Prost stalled the engine and was an early retirement. At the lights, Senna led away, whilst Mansell, already slow off the line with gearbox problems, retired at the end of lap 1 after a collision with Martin Brundle. He was followed out by Nelson Piquet who spun on lap 2 and Jean Alesi who spun off on lap 3 attempting a rather foolhardy pass on Stefano Modena. Patrese passed Senna - the first time in 1991 he had been led. In a strong lead, Patrese pitted for originally what appeared to be an early stop to slicks turned out to be more serious - a misfire with a faulty camshaft sensor. He restarted last before retiring for good 9 laps later. Berger was catching Senna, lapping 1 1/2 seconds quicker than his teammate. The lead was soon down to 5 seconds, with Modena a superb third from Satoru Nakajima and the two Minardis of Pierluigi Martini and Gianni Morbidelli. Both McLarens pitted for tyres with Senna maintaining his lead. Just after setting fastest lap, Berger was delayed in traffic, held up by the trio of Mauricio Gugelmin, Julian Bailey and Thierry Boutsen. Bailey himself moved past Andrea de Cesaris into 6th, whilst Nakajima retired with transmission problems. Ivan Capelli spun into retirement from 4th to hand over to JJ Lehto's Dallara. After a fantastic drive, Modena was unlucky to retire with transmission problems which meant that behind the two dominant McLarens, the order was now Roberto Moreno, Lehto, Eric van der Poele in a stunning drive for the little Lambo team and Martini's Minardi. Moreno's gearbox broke on lap 52 causing him to retire, whilst Senna was having problems with oil pressure caused by the special high-torque Honda V12. Berger put in a series of fastest laps to cut Senna's lead to just 1.7s at the line. Lehto was overjoyed to gain a podium place for Dallara, with Martini 4th. The Lotus drivers of Mika Häkkinen and Bailey took 5th and 6th respectively. Van de Poele's brilliant drive ended heartbreakingly for Lambo when a fuel pump broke on the last lap - he was classified ninth overall.
On the final parade lap Alain Prost spun off on the run down the hill towards Rivazza. Did not take part in the race start on grid. Gerhard Berger also spun at the same point but kept his car going.
Stefan Johansson was replaced at AGS by Fabrizio Barbazza. The team were under new management and their car colour was now red and blue having been usually white.