Republic of Ireland midfielder Conor Hourihane cracked home a superb free-kick as Aston Villa dismantled Derby County in an impressive 3-0 win. 

Villa produced a superb second-half performance to blow away the Rams at Pride Park as John Terry put one over on his former Chelsea teammate Frank Lampard.

Terry celebrated in the Villa dugout as three goals in 11 minutes from John McGinn, Tammy Abraham and Hourihane sent Derby crashing to a first home defeat since 11 August.

Another Ireland man, Callum Robinson, had a good day the office as he led Preston to a 1-0 win at Bristol City.

Robinson’s first-half goal proved enough for the Lilywhites to take the points. It was the attacker's 150th game for the club.

"It’s been a good season personally and the main thing for me now is that the team are doing well with it and the lads are creating the chances for me so it’s really pleasing," he said afterwards.

"It’s a proud moment for me and my family to reach 150 games. It’s been a big four years here for me during my different spells, I’ve enjoyed every minute of it. The fans have had to be patient and hopefully I am repaying then and I can keep this form going."

Jordan Rhodes and Teemu Pukki struck in stoppage time as Norwich recorded an incredible 4-3 victory over Millwall at Carrow Road in the Championship.

Having thrown away a 2-1 lead in the closing stages to fall 3-2 behind, the Canaries clinched a fifth successive league win in dramatic circumstances.

Pukki had cancelled out Tom Elliott’s first-half opener and then saw his penalty saved by Millwall goalkeeper Ben Amos before Moritz Leitner edged the Canaries in front.

But in an astonishing final 11 minutes, Ryan Leonard and Murray Wallace thought they had pinched the points for the Lions only for Rhodes to level and Pukki to pounce in the seventh minute of stoppage time.

Che Adams scored a hat-trick as Birmingham came from behind to earn a point against battling Hull at St Andrew’s in a thrilling 3-3 draw.

Birmingham looked to be coasting at half-time as they led 2-0 after Adams punished two mistakes in defence by the visitors. But Hull struck back after the break, a Fraizer Campbell double and a fine Kamil Grosicki free-kick putting them on top. Adams had other ideas as he shot through a crowded area late on to earn his side a point.

West Brom got their promotion push back on track as a storming second-half display saw them secure a 4-1 victory over Leeds at The Hawthorns.

Albion's challenge had stalled after collecting a solitary point from their previous four games.

But Hal Robson-Kanu, who was making his first Championship start since the opening day of the season, set them on the way to victory in the 51st minute before Matt Phillips doubled their advantage.

Harvey Barnes grabbed their third in the 82nd minute with substitute Dwight Gayle on target three minutes later with a cheeky back-heel.

Leeds, who had only lost once in seven games before facing Albion, would have gone back to the top of the table with a win but they were outplayed from the first whistle and all they had to show for their effort was a stoppage-time consolation from Pablo Hernandez, who headed in a pass from Samuel Saiz.

New Ipswich manager Paul Lambert is still without a win in charge after his side drew 2-2 at Reading.

Gwion Edwards gave Ipswich an early lead but Reading were soon level when Yakou Méïté netted with an acrobatic effort. Ipswich swiftly recovered and were back in front by the 11th minute through Freddie Sears but Reading improved after the break and were rewarded when Méïté headed home his second.

Jordan Hugill’s first-half double helped promotion-chasing Middlesbrough to a 2-0 win over Wigan. Hugill opened the scoring from the penalty spot after George Friend was upended in the box, and found the net again on the stroke of half-time with a close-range half-volley.

Jack Butland produced two superb saves to help Stoke secure a point from a 0-0 draw at Nottingham Forest. The England international pulled off stunning stops to deny Joe Lolley and Lewis Grabban.

QPR scored three times in the space of 10 second-half minutes to beat Brentford 3-2 in the west London derby at Loftus Road.

Neal Maupay put the visitors ahead midway through the first half with his 12th goal of the season. But the French striker was carried off on a stretcher in the final seconds of the half – and things got much worse for the Bees after the interval as goals from Massimo Luongo, Joel Lynch and Nahki Wells gave Rangers victory.

Bradley Dack’s late goal gave Blackburn a 1-1 draw with Rotherham in a game that they should have won at Ewood Park.

Swansea ended 38 years without a win at Bolton as Barrie McKay’s first goal for the club clinched a 1-0 success at the University of Bolton Stadium.

Meanwhile Ronan Curtis was superb for Portsmouth, who avoided an FA Cup first-round shock with a routine 4-0 win at non-league Maidenhead in the early kick-off.

Ben Thompson opened the scoring two minutes before half-time for Pompey, with further strikes from Ollie Hawkins, Jamal Lowe and David Wheeler sealing a place in the second round for the League One side.

Ex-Derry City man Curtis was at the heart of everything positive Pompey he did, setting up two of the goals and really impressing throughout.

On Tuesday, he was named in Martin O'Neill's provisional squad for the upcoming games against Northern Ireland and Denmark and in this form he has every chance in featuring in the friendly against the North at least.