It was a far cry from the flowing football that saw them win 6-0 here earlier in the season but with immeasurable determination and some individual brilliance Rangers head home still top of the league.
Right from the off Dunfermline signalled their intent and former Shamrock Rovers striker Noel Hunt looked bright throughout. With under a minute on the clock he won a corner after breaking with pace and when Nicholson delivered a wicked ball, Craig Brewster was unlucky to put his overhead kick just wide.
Five minutes later Rangers mounted their first attack but Ricksen could only shoot high and wide after Ronald de Boer used his trickery to create the space.
The Pars weren’t to be disheartened by this, however, and when Barry Nicholson broke down the right low his cross found Brewster on the edge of the penalty area.
The former Hibs hitman hit it sweetly and would have given his side the lead had Stefan Klos not produced a phenomenal low left hand save to push the ball past the post.
On the half hour mark Shota Arveladze, who replaced Michael Mols in the starting line-up had the best chance of the game yet when Amoruso found him with an excellent 45-yard pass.
The Georgian ran clean through on the Dunfermline goal but his weak shot was palmed away by Derek Stillie.
From the cleared ball Dunfermline broke at pace and while tracking back disaster struck for Scotland call up Mo Ross, and the on looking Berti Vogts, as he pulled his hamstring.
He was replaced by international team mate Bob Malcolm, who slotted into midfield, while Fernando Ricksen dropped into the right back berth.
But the change didn’t seem to ruffle Rangers’ feathers and in the 36th minute Neil McCann produced a moment of brilliance to give the Light Blues the lead.
Having played a short corner to Arteta the winger got the ball back and fired an excellent cross come shot, almost from the flag, into the Pars net.
Klos produced another excellent save just before half time when Hunt broke free but Alex McLeish’s side managed to hold onto their lead at the break.
The start of the second half didn’t, however, start how Alex McLeish would have liked and the home side equalised in the 49th minute.
The ever-troublesome Noel Hunt was played through and as Klos charged down his shot the ball broke to Craig Brewster who slammed it into the empty net.
This seemed to be the rush of blood Rangers needed and there after they launched an all out attack on Stillie’s goal.
Ronald de Boer was denied a stonewall penalty in the 64th minute when Gus McPherson hauled him down in the box, but Hugh Dallas waved play on.
Minutes later Shota Arveladze had a header tipped over the bar, before Lee Bullen cleared Craig Moore’s header off the line.
But at this rate it was only going to be a matter of time before the Dunfermline defence gave way and once again it came from a set piece.
In the 72nd minute Neil McCann was awarded a free kick after being brought down 18 yards out on the left hand side and after knocking the ball short to Lorenzo Amoruso the Italian powered home an unstoppable shot.
The enjoyment was soured though when Mikel Arteta was hauled down and was forced to give way to Claudio Caniggia after picking up a knock.
But Dunfermline weren’t to go down without a fight and Arthur Numan tracked back well to clear sub Steven Hampshire’s shot off the line.
Michael Mols came on to replace the tiring Arveladze and had a chance to put the game beyond any doubt but scuffed his shot into the hands of Stillie from eight yards.
There were four minutes of injury time awarded and only 30 seconds in Steve Crawford missed the Pars’ final chance to steal a point when he was unmarked seven yards out but put his shot over the bar.
But the action wasn’t finished there and sub Claudio Caniggia bagged his fifth goal at East End Park this season when he tapped McCann’s cross into the net to make it 3-1.
It was a brave effort by Calderwood’s men but in the end the class, grit and determination of this Rangers side carried them through.
DUNFERMLINE: Stillie, MacPherson (Kilgannon 80), Dair (Karnebeek 73), Skerla, Nicholson, Crawford, Brewster, Brannan, Bullen, Hunt (Hampshire 63), Grondin
Unused subs: Ruitenbeek, Dempsey
Bookings: Skerla 43
RANGERS: Klos, Ross (Malcolm 30), Amoruso, Moore, Numan, Ricksen, Ferguson, Arteta (Caniggia 79, McCann, de Boer, Arveladze (Mols 84)
Unused subs: McGregor, Bonnissel
Bookings – none
Ref: Hugh Dallas
Attendance: 8754
Man-of-the-match: Neil McCann