De Belgische Grand Prix keerde in 1981 terug naar Spa-Francorchamps, nadat ze in het seizoen 1980 in Zolder was verreden. Dat was gebeurd na een boycot van alle topcoureurs in het seizoen 1979, toen het nieuwe asfalt veel te glad bleek te zijn. Op een aantal punten was de organisatie in Francorchamps ver te zoeken. Publiek wandelde ongehinderd door het rennerskwartier en bekeek de races vanaf de vangrail en de strobalen. Pas nadat Gregg Hansford na een bandenwissel geen remmen meer had en hard tegen een geparkeerde auto reed, greep de gendarmerie in.
500 cc
Na de afgang in de TT van Assen, waar Barry Sheene en Kenny Roberts al bij de start bleven stilstaan, moest Yamaha in België wel een goed resultaat boeken. Sheene vertrok dit keer als snelste, maar werd al in de eerste ronde ingehaald door Roberts. In de tweede ronde kwam er een korte maar heftige regenbui, terwijl iedereen op slicks reed. Dat was koren op de molen van Boet van Dulmen en Jack Middelburg. Van Dulmen nam zelfs een ronde lang de leiding in de race, maar de bui stopte binnen enkele minuten en de baan droogde snel weer op. Roberts nam de leiding weer over, terwijl Sheene kampte met een onwillige koppeling. Intussen was Marco Lucchinelli bezig met een inhaalrace en halverwege de wedstrijd lag hij al op de tweede plaats. Van Dulmen en Middelburg zakten weer wat terug en Sheene kwam in gevecht met Randy Mamola. Lucchinelli sloot aan bij Roberts en passeerde hem bij La Source, toen Michel Frutschi op een ronde gereden moest worden. Roberts wilde dat buitenom doen, terwijl Frutschi juist naar buiten stuurde om ruimte te maken. Binnendoor kon Roberts ook niet, want daar reed Lucchinelli, die de laatste kilometer op kop bleef. Gregg Hansford, die pas in Assen zijn rentree gemaakt had na een val in de Imola 200, kwam opnieuw in het ziekenhuis terecht. Toen zijn remmen weigerden reed hij tussen het publiek door tegen een auto van een baancommissaris en brak een been. Het was voor de gendarmerie wel het teken om het publiek, dat op de meest gevaarlijke plaatsen zat, achter de vangrail te sturen.
Roland Freymond had de snelste start in Spa-Francorchamps, maar werd al in de eerste ronde gepasseerd door Carlos Lavado. Die werd op zijn beurt weer ingehaald door Toni Mang en op dat moment was de meeste spanning al verdwenen. Jean-François Baldé werd derde, maar Jean-Marc Toffolo wist zich vanuit het achterveld naar de vierde plaats te rijden en zijn gevecht met Baldé was wel spannend. Freymond's Ad Maiora draaide te weinig toeren en hij werd uiteindelijk elfde. Thierry Espié wist bijna de eerste punten voor Pernod te scoren, maar werd getorpedeerd door Martin Wimmer, waardoor ze allebei vielen.
Nu Stefan Dörflinger door een gebroken pols was uitgeschakeld door een val in de TT van Assen, kon niemand Ricardo Tormo meer bedreigen. Theo Timmer had in Francorchamps weliswaar de beste start, maar Tormo stelde snel orde op zaken en begon zijn voorsprong uit te bouwen. Henk van Kessel was niet zo goed gestart maar bereikte Timmer na een paar ronden, passeerde hem en werd tweede. De beide Nederlanders waren op hun beurt veel te snel voor hun achtervolgers, vooral nadat Hagen Klein met een gebroken gaskabel moest opgeven en Rainer Kunz viel.
Jock Taylor reed na de start in België heel even aan de leiding, maar werd al snel ingehaald door Rolf Biland en Alain Michel. Michel nam de leiding over en begon weg te lopen van Biland. Egbert Streuer reed op de vierde plaats, met zijn oud-bakkenistJohan van der Kaap weer in het zijspan, nu Bernard Schnieders in Assen geblesseerd was geraakt. Zowel Michel als Streuer kregen problemen met hun powervalve, waardoor ze terugvielen: Michel naar de derde plaats en Streuer naar de achtste plaats.
Suzuki kreeg na de derde overwinning van Marco Lucchinelli een luxeprobleem, want men moest een keuze maken tussen Lucchinelli en Randy Mamola als eerste rijder. Mamola had aanvankelijk de voorkeur, maar stond nu negen punten achter Lucchinelli, die ook al vijftien punten voorsprong op Kenny Roberts had.