Hearts were never at their best but still stepped up their challenge for second place with a battling win - their third in four games over the festive period.
Dunfermline's statistics are less encouraging - five matches without a goal and worst of all nine points adrift at the bottom of the table.
But whatever else they lack, their determination cannot be questioned and after a bright start Hearts keeper Craig Gordon had to push Souleymane Bamba's half-volley around the post.
Hearts then went ahead when a Bruno Aguiar corner was bundled home at the back post by Czech striker Michal Pospisil - who also scored on his last trip to Fife on the opening day of the season.
The Edinburgh club were fully in control now and a header from defender Marius Zaliukas was deflected on to the post by Phil McGuire.
As half-time approached Paul Hartley beat the offside trap but could not beat home keeper Roddy McKenzie, while Pospisil crashed a header off the underside of the bar from close range.
The visitors kept pushing for a killer second goal after the break and from a Robbie Neilson cross teenage forward Calum Elliot sent a glancing header just over.
But Dunfermline gradually crept into the game and Gordon made saves from striker Stevie Crawford and two former Hearts players Jim Hamilton and Stephen Simmons.
The final stages were nervy for Hearts, although Hartley might have won a penalty and Elliot and substitute Neil McCann both went close in a series of counter attacks.