Ross Gaynor scored twice as Linfield closed the gap on leaders Crusaders to five points by beating Glentoran 3-0.
Gaynor converted a 21st-minute penalty and then Glens defender Calum Birney was sent-off in the 82nd minute.
Aaron Burns coolly slotted home after a poor clearance by Elliott Morris on 86 minutes and Gaynor added the third with a low, hard finish in added time.
Darren Murray and Andy Mitchell both scored twice as 10-man Cliftonville drew 2-2 away to Dungannon Swifts.
David McDaid was sent-off for an off-the-ball incident with 16 minutes remaining, while his side were leading 2-1.
The result means the Swifts have failed to beat the Reds in their last 29 attempts, a record stretching back to February 2008.
Murray opened the scoring with a left-foot curling shot past Andy Coleman on nine minutes, but Mitchell levelled with a 20th-minute header.
Murray stroked the ball into the corner of the net seven minutes after the interval, then Mitchell and Alan Teggart squandered good chances for the home side.
Mitchell stabbed home the equaliser four minutes from time and Ryan Harpur, Mitchell and Gary Liggett could have ensured maximum points for Rodney McAree's side with late chances.
Blues too strong for Belfast rivals
Linfield's triumph at Windsor Park makes it just one defeat in 11 league outings for David Healy's charges, who are now unbeaten in their last seven encounters with their fiercest rivals.
Gaynor broke the deadlock after referee Ian McNabb awarded a penalty for handball, while Andrew Waterworth, Mark Stafford, Jamie Mulgrew and Matthew Clarke all had scoring opportunities.
After half-time, Fra McCaffrey headed wide with the goal at his mercy for the Glens, then Birney's dismissal gave his side an even steeper mountain to climb.
Chris Morrow struck the woodwork for Alan Kernaghan's side, before Burns and Gaynor ensured victory for the Blues with those two late goals.
|Danske Bank Irish Premiership|
|Carrick Rangers||1-1||Ballinamallard Utd|