Dia digantikan di Ferrari oleh Gerhard Berger dari Austria dan dia pindah ke McLaren sebagai pembalap nomor dua di belakang juara dunia Alain Prost. McLaren tidak begitu kompetitif pada tahun 1987 seperti yang mereka lakukan pada tahun 1984-1986, dengan Prost hanya menambahkan tiga kemenangan ke hitungannya (dan mengalahkan rekor 27 kemenangan Grand Prix yang dipegang oleh Jackie Stewart dengan kemenangannya yang ke-28 di Portugal) dan gagal untuk berhasil mempertahankan Kejuaraan Supirnya. Lebih lanjut podium finish did follow untuk Swedia dan Johansson selesai keenam di Kejuaraan Pengemudi. Posisi Stefan Johansson di McLaren dianggap oleh banyak orang hanya sebagai penandatanganan stop gap oleh bos tim Ron Dennis yang telah gagal untuk memikat Ayrton Senna dari Lotus karena dia berada di bawah kontrak sampai akhir tahun 1987 dan selalu berniat menandatangani pemain Brasil untuk. Johansson terkenal menyelesaikan Grand Prix Jerman 1987 di tiga roda setelah mengalami tusukan pada putaran terakhir. Dia juga menempati posisi kedua di belakang Prost di Belgia dan menambahkan podium lebih lanjut di Brasil
, Spanyol dan Jepang. Meskipun 11 podium dalam tiga musim, Johansson masih belum menang dan tidak diinginkan oleh tim papan atas (dia berharap untuk bergabung dengan Williams pada tahun 1988 sebagai pengganti Juara Dunia 1987 Nelson Piquet tetapi Williams menandatangani Riccardo Patrese sebagai gantinya). Dia kembali ke McLaren sebagai pembalap uji pada tahun 1991, menguji mesin Honda V12 di Suzuka di Jepang.