Rangers moved seven points clear at the top of the Scottish Premier League after a nervous win over Dunfermline.
Alex Keddie's own goal gave Rangers the lead before Nikica Jelavic's penalty doubled the advantage.
But Joe Cardle reduced the Pars' deficit before half-time with an impressive strike.
Goalkeeper Paul Gallacher denied Jelavic in the second half and Andrew Barrowman and Keddie missed good chances to level for Dunfermline.
Second-place Celtic can reduce the gap back to four points if they beat Dundee United on Sunday while the Pars slip one place to 11th in the table, a point above bottom club Aberdeen.
Rangers started positively with Sone Aluko driving at the Dunfermline defence early on and setting up Jelavic, who shot wide from six yards.
Jelavic was off-target again minutes later when he got his head to a Steven Davis cross.
Aluko could not keep his shot down before Gregg Wylde's drive was brilliantly saved by Gallacher.
But despite the growing pressure from the hosts it was a Dunfermline player who gave Rangers the lead and through little fault of his own.
Gallacher could have picked the ball up but elected to kick it hastily and Keddie inadvertedly diverted the ball into the net.
The piercing runs of Aluko continued to cause the visitors problems and the winger won a spot-kick when he was adjudged to have been felled by Martin Hardie.
Jelavic converted by firing high into the net from 12 yards.
Dunfermline stemmed the tide with a rare foray forward and found themselves back in the match through Cardle's strike.
The winger retrieved Martin Hardie's pass, cut inside and beat Allan McGregor at his near post.
Rangers tried to reassert themselves and Davis stung the palms of Gallacher before Wylde hammered a shot across the face of goal.
Aluko's attempt was blocked by Keddie in the opening moments of the second half and then Jelavic headed wide from Wylde's delivery.
Gallacher made another important block to turn a Jelavic shot wide.
The Pars pressed for an equaliser and Cardle's cross found Barrowman in the six-yard box only for the striker to blast over.
Kyle Lafferty, a replacement for debutant Thomas Kind Bendiksen, headed into the arms of Gallacher and then fired wide from Aluko's pass.
Aluko was next to miss the target, his 20-yard drive rising over the bar.
Keddie headed over from Pat Clarke's late corner and with that Dunfermline's chances of taking a point evaporated.
Live Text Commentary
Full Time The final whistle goes and the game is over.89:40
Steven Whittaker sends in a cross, blocked by Andy Kirk.88:36
Corner taken by Sone Aluko played to the near post.87:26
Corner taken by Patrick Clarke from the right by-line, Alex Keddie has a header from inside the six-yard box and clears the crossbar.87:19
A cross is delivered by David Graham, Kirk Broadfoot manages to make a clearance.85:08
Unfair challenge on Kirk Broadfoot by Andy Dowie results in a free kick. Steven Davis shoots direct from the free kick, blocked by Patrick Clarke. Steven Davis takes a shot from just outside the penalty area clears the crossbar.85:00
Steven Davis crosses the ball.84:15
Effort on goal by Sone Aluko from just outside the penalty area goes harmlessly over the target.84:06
Kirk Broadfoot produces a cross, Patrick Boyle manages to make a clearance.83:07 Booking
Booking The referee shows Ryan Thomson a yellow card for unsporting behaviour.82:55
Effort from the edge of the penalty box by Nikica Jelavic goes wide of the right-hand upright.80:42
Effort from inside the area by Gary Mason misses to the right of the goal.79:11 Substitution
Substitution (Dunfermline) makes a substitution, with Andy Kirk coming on for Andrew Barrowman.79:11
Indirect free kick taken by Patrick Clarke.79:11 Booking
Booking Booking for Dorin Goian for unsporting behaviour.78:58
Free kick awarded for an unfair challenge on Paul Willis by Dorin Goian.77:35
Patrick Boyle produces a cross, save made by Allan McGregor.76:03
Kyle Lafferty takes a shot. Blocked by Alex Keddie. Steven Whittaker delivers the ball, Ryan Thomson makes a clearance. Gregg Wylde takes a inswinging corner from the right by-line played to the near post.74:07 Substitution
Substitution Martin Hardie leaves the field to be replaced by Patrick Clarke.73:42
Sone Aluko produces a cross, Kyle Lafferty takes a shot. Save by Paul Gallacher.
Kyle Lafferty is flagged offside by the assistant referee. Free kick taken by Paul Gallacher.71:51
The ball is delivered by Maurice Edu, clearance by Andy Dowie.71:02
Steven Whittaker delivers the ball.70:32
Kirk Broadfoot delivers the ball, clearance made by Martin Hardie.69:49
Inswinging corner taken by Gregg Wylde from the right by-line, Andrew Barrowman manages to make a clearance.68:42
Kyle Lafferty crosses the ball.67:34 Substitution
Substitution Ryan Thomson comes on in place of Joe Cardle.66:10
The ball is swung over by Sone Aluko.64:39
A cross is delivered by Alex Keddie, clearance by Dorin Goian.63:13
Kirk Broadfoot fouled by David Graham, the ref awards a free kick. Free kick taken by Allan McGregor.61:40
The ball is sent over by Joe Cardle, Shot by Andrew Barrowman from deep inside the six-yard box clear the bar.61:04
The assistant referee flags for offside against Kyle Lafferty. Paul Gallacher takes the free kick.60:34
Gregg Wylde takes a outswinging corner.60:27
Gregg Wylde sends in a cross, clearance by Andy Dowie.59:42
Nikica Jelavic takes a shot. Paul Gallacher makes a save. Corner taken by Gregg Wylde played to the near post, clearance by Andy Dowie.59:16
The ball is swung over by Kirk Broadfoot, Patrick Boyle manages to make a clearance.58:37
Martin Hardie produces a right-footed shot from long range that goes harmlessly over the bar.58:27
The ball is sent over by Joe Cardle, Dorin Goian makes a clearance.57:27 Substitution
Substitution (Rangers) makes a substitution, with Kyle Lafferty coming on for Thomas Bendiksen.57:27
The ball is sent over by Gregg Wylde, Nikica Jelavic has a headed effort at goal from deep inside the area missing to the left of the target.56:18
Paul Willis takes the inswinging corner, Dorin Goian manages to make a clearance.55:22
The ball is swung over by Kirk Broadfoot, save made by Paul Gallacher.53:34
Gregg Wylde sends in a cross.53:08
Steven Whittaker takes a shot. Blocked by Gary Mason.52:13
A cross is delivered by Thomas Bendiksen, clearance by Alex Keddie.51:03
The ball is crossed by Gregg Wylde.50:10
Sone Aluko takes a shot. Blocked by Alex Keddie.48:21
The ball is delivered by Steven Whittaker, Kyle Bartley takes a shot. Blocked by John Potter. Corner taken by Gregg Wylde played to the near post, Patrick Boyle manages to make a clearance.46:45
A cross is delivered by Gregg Wylde, Martin Hardie makes a clearance.45:48
Joe Cardle has an effort at goal from long range that misses to the right of the goal.45:01
The referee starts the second half.45:00 +1:06 Half time
Half Time The referee blows for half time.43:09
A cross is delivered by Gregg Wylde, Alex Keddie manages to make a clearance.41:38
The ball is sent over by Steven Whittaker.40:15
The ball is swung over by Paul Willis, Steven Davis gets a block in.39:17
Martin Hardie concedes a free kick for a foul on Thomas Bendiksen. The free kick is swung in left-footed by Gregg Wylde, John Potter manages to make a clearance.38:20
Centre by Kirk Broadfoot.37:13
The ball is delivered by Gregg Wylde.35:48
Paul Willis delivers the ball, Allan McGregor makes a save.33:06
Effort from inside the area by Gregg Wylde misses to the left of the target.30:55
The assist for the goal came from Martin Hardie.30:55 Goal scored
Goal! - Joe Cardle - Rangers 2 - 1 Dunf'mline Joe Cardle gets on the score sheet with a goal from just inside the penalty area to the bottom left corner of the goal. Rangers 2-1 Dunfermline.29:45
Nikica Jelavic delivers the ball, Joe Cardle manages to make a clearance.29:30
Centre by Paul Willis, Allan McGregor makes a save.28:21
Assist on the goal came from Sone Aluko.28:21 Goal scored
Goal! - Nikica Jelavic - Rangers 2 - 0 Dunf'mline Penalty taken right-footed by Nikica Jelavic and scored. Rangers 2-0 Dunfermline.27:12
Unfair challenge on Sone Aluko by Gary Mason results in a Penalty.25:19
Unfair challenge on Maurice Edu by Martin Hardie results in a free kick. Kyle Bartley takes the indirect free kick.24:38
A cross is delivered by Kirk Broadfoot.23:56
The assistant referee signals for offside against Joe Cardle. Indirect free kick taken by Allan McGregor.21:06 Goal scored
Goal! - Alex Keddie - Rangers 1 - 0 Dunf'mline Alex Keddie scores an own goal from 6 yards. Rangers 1-0 Dunfermline.19:22
Maurice Edu takes a shot. David Graham gets a block in.19:13
The ball is delivered by Gregg Wylde, clearance by John Potter.17:36
Gregg Wylde takes a shot. Save made by Paul Gallacher. Sone Aluko produces a cross, Alex Keddie gets a block in. Inswinging corner taken left-footed by Gregg Wylde, John Potter manages to make a clearance.17:02
Andrew Barrowman takes a shot. Allan McGregor makes a comfortable save.15:04
Shot from just outside the box by Sone Aluko goes over the bar.14:26
Gregg Wylde delivers the ball.14:22
The ball is crossed by Kirk Broadfoot.14:07
The ball is swung over by Steven Whittaker, John Potter manages to make a clearance.12:29
Steven Whittaker delivers the ball.10:50
Steven Whittaker takes a shot. Corner taken by Gregg Wylde. Martin Hardie gets a block in.8:56
Steven Davis produces a cross, Headed effort from inside the area by Nikica Jelavic misses to the left of the target.7:58
Inswinging corner taken by Gregg Wylde from the right by-line.7:46
Nikica Jelavic sends in a cross, clearance made by Alex Keddie.6:23
Centre by Kirk Broadfoot.4:00
Free kick awarded for a foul by Andrew Barrowman on Kyle Bartley. Steven Davis restarts play with the free kick.3:16
The official flags Andrew Barrowman offside. Dorin Goian restarts play with the free kick.0:35
Sone Aluko crosses the ball, Close range strike by Nikica Jelavic goes over the bar.0:00
The referee gets the match started.
Live data and text provided by our data suppliers