Voltooi de volgende zin: Hij werd vervangen bij Ferrari door de Oostenrijkse Gerhard Berger voor en hij verhuisde naar McLaren als nummer twee coureur achter dubbele en regerende wereldkampioen Alain Prost. McLaren was in 1987 niet zo competitief als in 1984-1986, waarbij Prost slechts drie overwinningen aan zijn telling toevoegde (en het record van 27 Grand Prix-overwinningen van Jackie Stewart versloeg met zijn 28ste overwinning in Portugal) en zijn rijderskampioenschap niet succesvol kon verdedigen. De Zweed behaalde nog meer podiumplaatsen en Johansson eindigde als zesde in het rijderskampioenschap. Stefan Johansson's positie bij McLaren werd door velen beschouwd als slechts een stopgap-ondertekening door teambaas Ron Dennis, die er niet in geslaagd was Ayrton Senna van Lotus te lokken omdat hij tot het einde van 1987 onder contract was en altijd de bedoeling had om de Braziliaan te tekenen. Johansson eindigde de Duitse Grand Prix van 1987 op drie wielen nadat hij een lek had op de laatste ronde. Hij eindigde ook tweede achter Prost in België en voegde nog meer podiumplaatsen toe in
Brazilië, Spanje en Japan. Ondanks 11 podiumplaatsen in drie seizoenen, was Johansson nog steeds zonder overwinning en werd hij niet gewenst door een topteam (hij had gehoopt om in 1988 bij Williams aan te sluiten als vervanger van de vertrekkende wereldkampioen Nelson Piquet uit 1987, maar Williams tekende Riccardo Patrese in plaats daarvan). Hij keerde in 1991 terug naar McLaren als testrijder, waarbij hij de Honda V12-motor testte in Suzuka in Japan.