The Minstermen had not scored at home in their previous four games but that run came to an end in the 17th minute with John McCombe heading home Adam Reed's corner.
The hosts would not have to wait long for a second goal either with Michael Coulson turning sharply in the area and finding the bottom corner on 26 minutes.
York's lead would only last for two minutes, though, as Exeter reduced the deficit when defender Scot Bennett pounced on a loose ball from Jimmy Keohane's corner to guide the ball home.
After the restart the Grecians pushed on for an equaliser and it almost came on the hour mark with Liam Sercombe's effort from 18 yards forcing Nick Pope into a smart save.
The visitors then went even closer with 20 minutes left as Keohane's deflected shot allowed John O'Flynn in but he could only shoot against the post.