Irvine, making his third start of the campaign after a pre-season illness, netted in the 28th and 47th minutes.

The Australian volleyed home on his left foot from a far post cross from Evandro to make it 1-1.

Irvine added his side's third to make it 3-1, sliding home when unmarked after being released by Jarrod Bowen inside the box.

“From a personal point of view it was extremely pleasing to get my first goals of the season, and it was my first ever double, too!” Irvine told the club website.

“However, to get the win – and it was a very important win, not just for the three league points but for the feeling around the club as well – was huge for us tonight.

Massimo Luongo started and played an hour as QPR lost 3-0 at home to Bristol City, who were without Bailey Wright.

Ryan McGowan played a full game as he continues his successful return from a knee injury as Bradford City won 1-0 over Burton Albion.

In the UEFA Champions League play-offs round, Trent Sainsbury was absent as PSV Eindhoven moved a step closer to qualification with a 3-2 win at BATE Borisov in their first leg. 

Milos Degenek played a full game as Red Star Belgrade drew their first leg at home 0-0 with Austrian champions Red Bull Salzburg.