The finishing touch wasn't there, but Hearts are proving a tough nut to crack as they made it four clean sheets and 10 games in a row unbeaten after playing out a stalemate with Livingston.
The Jambos had the better chances, with sub Garang Kuol guilty of missing the best one, while Shamal George produced a top save to deny Stephen Humphrys. But the hosts went close themselves, with Steven Bradley seeing his effort cleared off the line in the second half.
Hearts should have taken the lead after 18 minutes. Alex Cochrane’s in-swinging corner was met by Shankland, who managed to steal a yard on James Penrice. But the skipper couldn't direct his header down and it went over from close range. Yutaro Oda was inches from giving his side the lead on the stroke of half-time. Shankland sent a great ball across the six yard box, but the Japanese Under 21 international couldn’t make contact when he really should have for a tap in.