Foi substituído en Ferrari polo austríaco Gerhard Berger e trasladouse a McLaren como o piloto número dous detrás do campión do mundo Alain Prost. McLaren non foi tan competitivo en 1987 como fora en 1984-1986, con Prost só engadindo tres vitorias á súa conta (e batendo o récord de 27 vitorias de Grandes Premios de Jackie Stewart coa súa vitoria número 28 en Portugal) e non defendeu con éxito o seu Campionato de Pilotos. Seguiron outros podios para o sueco e Johansson terminou sexto no Campionato de Pilotos. A posición de Stefan Johansson en McLaren foi considerada por moitos como unha sinatura por parte do xefe do equipo Ron Dennis, que non conseguiu atraer a Ayrton Senna de Lotus debido a que estaba baixo contrato ata o final de 1987 e sempre pretendía asinar o brasileiro. Johansson terminou o Gran Premio de Alemaña de 1987 en tres rodas tendo un pinchazo na última volta. Tamén terminou segundo detrás de Prost en Bélxica e engadiu máis podios en Brasil.
, España e Xapón. A pesar de 11 podios en tres tempadas, Johansson seguía sen gañar e non era desexado por un equipo superior (esperaba unirse a Williams en 1988 como un substituto do campión do mundo de 1987 Nelson Piquet, pero Williams asinou Riccardo Patrese no seu lugar). Volveu a McLaren como piloto de probas en 1991, probando o motor Honda V12 en Suzuka, Xapón.