De TT van Assen werd verreden in het kader van de "Speedweek Assen", die al begon op 19 juni met de trainingen voor het Europees kampioenschap wegrace. De EK-races vonden plaats op 20 juni, de Formule 1-klasse reed op 22 juni. De WK-races werden verreden op zaterdag 24 juni (80-, 125-, 250- en 500 cc en de zijspanklasse). De start van de races werd vertraagd omdat het publiek 's nachts een aantal strobalen in brand had gestoken en ook tv-kabels van de NOS had vernield.
Wayne Gardner mocht van dokter Costa rijden in Assen, maar merkte al tijdens de trainingen dat hij nog lang niet hersteld was van zijn beenbreuk. Hij reed desondanks de negende tijd, ruim twee seconden langzamer dan Kevin Schwantz. Ook Wayne Rainey, Pierfrancesco Chili en Christian Sarron zelf doken ruim onder het oude trainingsrecord van Sarron. Christian's broer Dominique Sarron schakelde zichzelf uit door een valpartij in de warm-uptraining. Hij brak een botje in zijn schouder.
De start van de race werd vertraagd door een domme actie van Randy Mamola, de clown onder de coureurs die het publiek al vermaakt had met een klompendans, maar die tijdens de opwarmronde nog een mooie wheelie wilde maken. Hij trok zijn Cagiva achterover in de Strubben en mocht die op de grid laten repareren. Toen er eindelijk gestart werd nam Wayne Rainey de leiding voor Kevin Schwantz, Eddie Lawson, Kevin Magee, Christian Sarron en Freddie Spencer. Rainey leidde drie ronden voor Schwantz en de goed volgende Pierfrancesco Chili, die in gevecht was met Eddie Lawson. Lawson nam pas in de negende ronde de derde plaats over toen Chili's Pirelli-banden de geest begonnen te geven. Nu werd Lawson belaagd door Sarron wiens Yamaha minder snel was maar veel beter stuurde, ondanks het feit dat hij vanwege een handblessure had gekozen voor (zwaardere) stalen remschijven. Schwantz had intussen al in de vierde ronde de leiding genomen en tegen het einde van de race begon hij weg te lopen van Rainey. Schwantz had een voorsprong van 2,5 seconde toen vier ronden voor het einde een drijfstang van zijn Suzuki brak. Nu kon Rainey de overwinning niet meer ontgaan. Lawson werd tweede en Sarron derde. Freddie Spencer werd dertiende nadat hij twee keer rechtdoor was geschoten door vastlopers.
Na de eerste ronde leidde Reinhold Roth voor Carlos Cardús, Luca Cadalora, Jacques Cornu, Martin Wimmer, Gary Cowan, Didier de Radiguès en Sito Pons. Daarmee waren de kansen van Yamaha al bijna de grond in geboord, met Cadalora als enige vertegenwoordiger van een fabrieksteam. Jean-Philippe Ruggia (Gauloises-Sonauto-Yamaha) was al in de eerste ronde gevallen en Juan Garriga (Ducados-Repsol-Yamaha) viel uit door een gebroken zuiger. Cadalora ging echter het gevecht met Roth aan en nam enkele malen de leiding over. Af en toen bemoeide Pons zich met het gevecht, terwijl Cornu vanaf de vierde plaats toekeek. Bij Cadalora's Yamaha brak echter ook een zuiger en toen werd het een compleet Honda-gevecht, dat werd gewonnen door Roth voor Pons, Cornu en Cardús. Martin Wimmer plaatste zich met zijn privé-Aprilia voor de fabrieksmachine van De Radiguès en pas op de zevende plaats volgde de eerste Yamaha, de privé-Yamaha TZ 250 van Alberto Puig.
Met 0,7 seconde verschil in de trainingen kon Hans Spaan tevreden zijn, temeer omdat hij bijna een volle seconde sneller was dan WK-leider Ezio Gianola. Jorge Martínez was nog niet helemaal hersteld van zijn sleutelbeenbreuk en liet de 80cc-klasse varen, maar in de 125cc-kwalificatie was hij vierde. Peter Öttl kwalificeerde zich als tiende met de nieuwe 125cc-Krauser, die zich nog in het ontwikkelingsstadium bevond. De machine was ontwikkeld door Herbert Rittberger.
De kopgroep bestond aanvankelijk uit Stefan Prein, Àlex Crivillé, Jorge Martínez en Ezio Gianola, maar in de derde ronde had Hans Spaan aansluiting gevonden en hij nam de leiding voor Crivillé en Gianola. Spaan hield de leiding een aantal ronden, maar raakte bij het Mandeveen even in het gras. Vijf ronden lang volgde (en bestudeerde) hij Crivillé. Drie ronden voor het einde ging Gianola onderuit en ontstond een gevecht tussen Spaan en Crivillé. In de voorlaatste ronde passeerde Spaan Crivillé bij de Stekkenwal. Crivillé nam de leiding terug, maar Spaan wist dat hij bij de Stekkenwal kon toeslaan en deed dat ook. Crivillé was tevreden met zijn tweede plaats, want door de val van Gianola kwam hij aan de leiding van het wereldkampioenschap.
De 80cc-race ging net als in de Grand Prix van Oostenrijk een half uur later van start omdat een aantal rijders demonstreerde voor behoud van deze klasse. Toen het licht eenmaal groen werd raakten zowel Peter Öttl als Stefan Dörflinger ver achterop. Even bestond de kopgroep uit Manuel Herreros, Herri Torrontegui en de (verdacht) snel gestarte Luis Alvaro. Alvaro waagde één aanval op Herreros, maar moest dat bekopen met een stukje door het gras, waarop Herreros hem middels een handgebaar duidelijk maakte dat hij zich niet met het gevecht mocht bemoeien. Herreros maakte zich los van Torrontegui en Alvaro, maar intussen kwamen Dörlinger en Öttl langzaam maar zeker richting zijn achterwiel. Zelfs tijdens hun onderlinge gevecht maakten ze nog tijd goed op Herreros. Aanvankelijk liet Öttl het aanvallen aan Dörflinger over. Hij bekeek het vanaf de derde positie, maar in de laatste ronden viel hij Herreros zelf aan. Herreros leek de race te winnen, maar in de laatste ronde brak het Meeuwenmeer zijn achterwiel even weg. Öttl kon daarvan profiteren, maar Dörflinger niet.
Bij de start waren Egbert Streuer/Geral de Haas het snelste weg, gevolgd door Steve Webster/Tony Hewitt. Rolf Biland/Kurt Waltisperg startten zo slecht, dat zowel Steve Abbott/Shaun Smith als Rolf Steinhausen/Bruno Hiller (vanaf de derde startrij) nog voor hem zaten. Na één ronde was al duidelijk dat de race tussen Webster en Streuer zou gaan. Het duurde lang tot Biland de derde plaats had overgenomen, maar ook toen verloor hij alleen nog maar tijd op het leidende duo. Negen ronden lang leidde Streuer, op start/finish steeds maar enkele centimeters voor Webster, waardoor het leek of die laatste nog wat over had. In de tiende ronde passeerde Webster in de Veenslang, maar toen bleek dat Streuer op zijn beurt weer goed kon volgen. Het resulteerde in nog enkele inhaalacties, maar uiteindelijk sloeg Webster - opnieuw in de Veenslang - definitief toe. Streuer probeerde nog een laatste wanhoopsactie in de Geert Timmerbocht, maar moest daarbij door het gras en werd tweede met slechts 0,4 seconde achterstand, maar een halve minuut voor Biland/Waltisperg. Op de vraag achteraf aan Biland wat zijn probleem was geweest, antwoordde hij: "Webster en Streuer".
De Formule 1-race verliep eigenlijk vrij eentonig. Vanaf de start leidde Carl Fogarty voor Andy Hofmann en Roger Burnett. Fogarty bouwde een voorsprong op van tien seconden en omdat de koplopers in dezelfde ronde gingen tanken bracht ook de tankstop de spanning niet terug. Fogarty reed ook de snelste raceronde en had bij de finish 17 seconden voorsprong. Fogarty ging nu ruim aan de leiding in de totaalstand, omdat hij als enige ook aan de eerste race in Sugo had deelgenomen. Hij scoorde daar slechts drie punten, maar met de vierde plaats in de Formula One TT en deze overwinning had hij tien punten voorsprong op de SchotBrian Morrison.