Da Graeme Souness ble utnevnt til ny manager i Rangers i april 1986 satte han igang en form for omveltning som omfattet større signeringer fra engelske klubber. Dette gjorde at McPherson ble vurdert overflødig og derfor ble solgt til Heart of Midlothian FC på en overgangssum verdt 325 000 pund i 1987. Hos Hearts etablerte han seg umiddelbart på førstelaget og bidro med sitt til at klubben endte med høye tabellplasseringer i sesongene som fulgte. Som følge av dette ble han omsider lagkaptein på både klubblaget og landslaget. På grunn av økonomiske vanskeligheter ble klubben tvunget til å selge unna spillere, og med McPherson som en av sine høyst vurderte, solgte Hearts ham tilbake til Rangers i 1992 for 1,2 millioner pund.