Phil Read kon zijn puntentotaal alleen verbeteren door in Zweden eerste of tweede[1] te worden, maar Giacomo Agostini hielp hem daarbij door op de tweede plaats liggend door een klapband te vallen. Barry Sheene lag toen al op kop en won de race ook. In de openingsfase had Teuvo Länsivuori aan de leiding gereden, maar hij viel toch wel vaak en dat gebeurde nu ook. Toen was Sheene intussen naar de leiding geklommen, want de beide Suzuki’s waren al in de trainingen de snelsten geweest. John Williams wist zijn tweecilinder Yamaha (een opgeboorde Yamaha TZ 350) nog voor Gianfranco Bonera als derde over de streep te brengen.
In Zweden nam Cecotto de leiding, maar opnieuw liet zijn Yamaha hem in de steek. De machine ging opnieuw op één cilinder lopen en Cecotto viel uit. Otello Buscherini reed nu aan de leiding, maar het leek wel of hij zijn landgenoot Walter Villa wilde helpen om wereldkampioen te worden. In werkelijkheid had Buscherini de Diemme-Yamaha gekregen om Cecotto te ondersteunen en verloor hij snelheid door een kapotte keerring. Villa passeerde zonder al te veel problemen en won, Buscherini werd tweede en Tapio Virtanen werd derde. Dat deed hij met de fabrieks-MZ die ter beschikking was gesteld aan Boet van Dulmen. Van Dulmen wilde er na de teleurstellende resultaten echter niet meer mee rijden.
Het leek wel of er in Zweden toch weer teamorders bij Morbidelli golden, terwijl de wereldtitel al binnen was. Pier Paolo Bianchi ging de hele race aan de leiding, maar tegen het einde liet hij zich terugvallen en won Paolo Pileri. Hoewel Piovaticci-constructeurs Jan Thiel en Martin Mijwaart enkele weken eerder nog had verklaard dat de nieuwe 125cc-machine nog te zwaar was, hadden ze het probleem kennelijk al opgelost, want Eugenio Lazzarini wist Kent Andersson zonder problemen te verslaan en hij werd derde.
In de 50cc-race had Eugenio Lazzarini een goede start en hij liep ook meteen weg van zijn tegenstanders. Ángel Nieto kon zich als wereldkampioen ook gerust tevreden stellen met de tweede plaats. Julien van Zeebroeck kwam in duel met de Nederlander Nico Polane (Kreidler), die het hele seizoen al goed gepresteerd had. Van Zeebroeck maakte echter een ernstige val mee, waarbij hij zijn wervelkolom beschadigde en naar het ziekenhuis werd afgevoerd. Polane haalde bijna zijn eerste podiumplaats, maar toen zijn Kreidler vermogen begon te verliezen werd hij nog ingehaald door Hans-Jürgen Hummel.
↑Door eerste of tweede te worden kon Read een van zijn derde plaatsen als tellend resultaat vervangen, want slechts 6 resultaten telden mee voor het wereldkampioenschap