Greig Spence pulled a late goal back for League One leaders Raith Rovers but Albion Rovers emerged with a 2-1 win to lift themselves to third place.
With Rovers losing, second-placed Ayr United's 3-0 win over East Fife at Somerset Park means they trail the Fifers by only three points.
Arbroath dropped to fourth with a 1-1 draw against Alloa, Ryan McCord's penalty cancelling out David Gold's own goal.
Airdrieonians beat Queen's Park 4-2.
The teams were locked at 1-1 at half-time at the Excelsior, with Scott Stewart scoring the opener for the hosts and the Spiders' Dominic Docherty replying with his first of a brace.
However, after the break Dean Cairns hammered in a shot from outside the box to put the Diamonds in charge once more before Stewart scored his second in 67 minutes. Willis Furtado for Airdrieonians and the Spiders' Docherty rounded off the scoring.
At Cliftonhill, Alan Trouten put Rovers ahead from close range towards the end of the first half, and when Connor Shields hit their second with seven minutes to go the points looked safe, although Spence's late header did threaten the home victory.
East Fife managed only one shot on target in their match against the Honest Men for whom Lawrence Shankland opened the scoring with a shot from a tight angle in seven minutes. Shankland set up Andy Geggan for Ayr's second five minutes after the restart.
East Fife's Jonathan Page was shown a straight red card just after the hour mark for dangerous play and Chris Higgins rounded off a good day for Ian McCall's team with a headed third goal.
Bottom side Forfar ended a run of six league defeats by earning a 1-1 draw at home to Stranraer. Josh Peters' early goal looked as if it would be the clincher for the Loons but Daniel Stoney scored in injury-time for the Station Park visitors.