Ruairi Harkin squandered a great chance for the hosts when he saw his 39th minute penalty strike the woodwork, and three minutes later the Blues had a penalty of their own when David Ogilvy fouled Mark McAllister.
Aaron Burns dispatched the resulting spot-kick, but the Bannsiders were back on level terms in the 54th minute when Derry GAA star Eoin Bradley lashed a close-range volley into the visitor's net.
Linfield got their noses in front once again in the 67th minute when McAllister beat his man before firing past Wayne Drummond, but Bradley added his second of the afternoon in spectacular fashion with six minutes to go, launching a magnificent overhead kick past Jonny Tuffey.
That appeared to have been enough to secure a share of the spoils, but the Blues had the final say when Phillip Lowry converted from an Andy Waterworth pass to seal a 3-2 victory which saw David Jeffrey's side maintain their pressure on leaders Crusaders.
The Crues maintained their slender lead at the top of the table with a 1-0 victory over Dungannon Swifts at Stangmore Park.
A solidarity goal from Paul Heatley five minutes before the end of the first half secured the win that keeps Stephen Baxter's side top on goal difference.
Elsewhere on Saturday Cliftonville remain four points off the top after a 2-1 victory over Glenavon at Solitude.
Liam Boyce opened the scoring in the 25th minute with a scrappy goal on the rebound after Andy Coleman saved a Joe Gormley effort as the Reds dominated the opening 45 minutes.
Glenavon upped their game in the second half, but it was Cliftonville who found the net in the 65th minute when Gormley weaved through a static Glenavon defence to slot home.
Lurgan Blues captain Eddie McCallion was sent off for protesting in the wake of the goal, but despite that setback the visitors pulled one back when Ciaran Martyn found the net seven minutes from time, although the goal proved to be a mere consolation.
In the game at the Oval, Glentoran bounced back from last weekend's 2-0 defeat to Portadown with a 3-0 demolition of Warrenpoint Town.
After the visitors had wasted a couple of good early chances, Jordan Stewart opened the scoring for the Glens when he turned in the area before unleashing a dipping volley into the top corner four minutes before the break.
David Scullion added a second when he swept the ball into the bottom corner from a Stephen McAlorum pass in the 72nd minute, and added a second for good measure five minutes later with a low finish from close range to seal the victory for Eddie Patterson's side.
In the game at Ferney Park, Ballinamallard United ended a sequence of three straight league defeats with a 1-0 win over Ards.
David Kee netted on the rebound from his own penalty in the 68th minute, after seeing his original spot-kick well saved by Ards stopper Graeme McKibbin.
Finally in the game at Shamrock Park a single goal from the penalty spot in the 21st minute was enough to secure a victory for Portadown against 10-man Ballymena United, who had earlier seen goalkeeper Stuart Addis sent off for a clumsy challenge on Darren Murray.
Murray steered the resulting penalty past makeshift goalkeeper Mark Surgeoner, as the Sky Blues did not have a recognised goalkeeper on the bench.
Danske Bank Premiership results:
Ballinamallard United 1 - 0 Ards
Ballinamallard: Kee (70)
Cliftonville 2 - 1 Glenavon
Cliftonville: Boyce (25) Gormley (62)
Glenavon: Martyn (83) McCallion (s/o 62)
Coleraine 2 - 3 Linfield
Coleraine: Bradley (54, 84)
Linfield: Burns (pen 40), McAllister (67) Lowry (87)
Dungannon Swifts 0- 1 Crusaders
Crusaders: Heatley (40)
Glentoran 3 - 0 Warrenpoint Town
Glentoran: Stewart (41), Scullion (72, 77)
Portadown 1 - 0 Ballymena United
Portadown: Murray (pen 21)
Ballymena: Addis sent off 18