Middlesbrough continued their impressive form under Michael Carrick as they comfortably beat Preston North End to move within three points of second place in the Championship.
Chuba Akpom finished off an excellent team move to put the hosts ahead as Boro took control after an even opening to the first half.
Cameron Archer got Middlesbrough's second shortly after the restart as he blasted home having reacted to a mistake from Bambo Diaby.
Archer drilled in the third before Diaby was sent off for a second booking in the 88th minute. Marcus Forss capped Boro's dominance by adding a fourth deep in stoppage time.
Middlesbrough have now won 16 of 22 league games since Carrick took over from Chris Wilder on 24 October.
They are three points clear of fourth-placed Luton Town and closed the gap on second-placed Sheffield United who are in FA Cup quarter-final action on Sunday.
Preston, who came into the match unbeaten in seven games, stay in 11th place and their chances of a play-off spot appear to be fading.
A tight opening to the game - which might have expected between the sides third and sixth in the Championship form table - was brought to life with a fine team goal from the hosts.
Boro began with the ball in defence and effortlessly passed their way up the field before Jonny Howson found Akpom, who played a one-two with Archer before firing low past Freddie Woodman for his 25th goal of the season.
Woodman had to be alert four minutes later as he acrobatically stopped Ben Whiteman from scoring an own goal after Archer had swung and missed at Forss' pull-back, before Preston's keeper palmed away an Akpom effort not long after.
Boro had 73% of the first-half possession, and it was not until the final five minutes of the half that Zack Steffen was called into action in the Boro goal to save efforts from Tom Cannon and Alan Browne.
Middlesbrough's second came after another good move - Akpom's lovely outside of the boot pass from right to left found Giles who played in Archer. It seemed as though Diaby would clear but he missed the ball and the Aston Villa loanee - who played for Preston last season - turned and blasted home from close range for his fifth goal in eight games.
Another superb passing move ended in Archer's second as he fired in low from the edge of the box after Howson had found Akpom. The hosts continued to pressurise Ryan Lowe's side with Archer having a close-range effort blocked by Browne with 25 minutes left.
With the result safe Boro looked comfortable in the final 20 minutes before Diaby gave the ball away to Akpom and tripped him on the edge of the area to see his afternoon end early with his second booking.
From the resulting free-kick Alex Mowatt curled a left-footed effort against the underside of the bar, but the gloss was put on in stoppage time as Giles got to the byline and pulled it back for Forss to tap in from close range.
Middlesbrough head coach Michael Carrick told BBC Radio Tees:
"There was a really good atmosphere in the stadium for the start of the game which I know helped the boys immensely.
"I thought the lads started the game terrifically, got into our stride, played some good football, pressed well, won the ball back quick and created the momentum and built some pressure really early on in the game.
"Probably the game after that was in our hands and the goals looked dangerous - there were some really terrific goals.
"The goals in the second half were pleasing, we got as many boys as we could on the pitch because they deserved to be on the pitch, and all round it was a really good day."
Preston North End manager Ryan Lowe told BBC Radio Lancashire:
"We knew it was going to be tough but it was a little bit tougher than I expected.
"But what I will say is we've been on a fantastic run of seven games unbeaten, some good wins and some good draws, fighting back - I thought today we didn't make enough tackles.
"They're a good team Middlesbrough, we know that, they're on a crest of a wave, but the goals we conceded weren't what we'd expect to concede, I'm disappointed with them.
"But I can't be too down in terms of it because the lads have been on a fantastic run, but I think that just shows why we're not play-off contenders because you have to come here and perform to the levels to have a chance of being play-off contenders, and we were nowhere near the level today."
- 1SteffenBooked at 50mins
- 6FryBooked at 78mins
- 16HowsonSubstituted forBarlaserat 83'minutes
- 30HackneySubstituted forMowattat 72'minutes
- 21ForssBooked at 76mins
- 8McGreeSubstituted forBolaat 72'minutesBooked at 90mins
- 10ArcherSubstituted forA Ramseyat 82'minutes
- 11A Ramsey
- 23DiabyBooked at 88mins
- 3CunninghamSubstituted forHughesat 28'minutesBooked at 45mins
- 8BrowneSubstituted forWoodburnat 86'minutes
- 18LedsonSubstituted forParrottat 45'minutes
- 2FernándezBooked at 67minsSubstituted forBradyat 86'minutes
- 10JohnsonSubstituted forDelapat 85'minutesBooked at 90mins
- Matt Donohue