Bristol Rovers secured their second win under Ben Garner with a hard-fought 2-0 victory over promotion hopefuls Sunderland.
A JCH brace sealed three points for The Gas in a fiercely competitive midweek affair with a total of six yellow cards dished out on the night.
Rovers’ defence was rarely troubled throughout the evening with assured performances from the whole backline on Tony Craig’s 600th career appearance.
Following Saturday’s defeat away at Southend, Ben Garner made three changes to the side including the return of Jonson Clarke-Harris. Alex Rodman and Cameron Hargreaves also came in to replace Josh Hare, Ed Upson and James Daly.
Antoine Semenyo caused the first real moment of concern for Rovers, driving at the heart of the defence until Cian Harries' firm challenge stopped him in his tracks.
As Bristol Rovers grew into the game, Liam Sercombe tried his luck from 25 yards after turning Josh Scowen on the left-hand side, but his shot flew wide of the near post.
Strong work from JCH allowed Jayden Mitchell-Lawson to breeze past Jordan Willis, but his cut-back was well cleared for a corner.
Excellent tracking back from Cameron Hargreaves and Mitchell-Lawson prevented a Sunderland counterattack as the Gas dealt with everything the visitors could muster.
In a feisty first-half, Luke Leahy, Kyle Lafferty and Alim Ozturk had their names taken by the referee as tension built inside The Mem.
A flowing Rovers move broke the deadlock five minutes before the break, Ollie Clarke’s cross found JCH after a superb dummy by Mitchell-Lawson and Clarke-Harris made no mistake with the finish.
In first-half injury time, Hargreaves appeared to be brought down by the Sunderland goalkeeper, however, the referee deemed it simulation amid cries for a penalty dishing out a yellow card.
The final act of the half was for the referee to hand out another yellow card, this time for Tom Flanagan for remonstrating too enthusiastically with the official.
The second period began in the same vain as the first with plenty of tackles and both defences dominating proceedings.
A clash of heads between Ollie Clarke and half-time substitute Charlie Wyke led to a substantial stoppage in play, with Clarke going into the book for his part in the collision.
Neat play from Hargreaves and a driving run from Clarke earnt Rovers a corner, however, nothing came of the set-piece.
The first real chance of the second half came after Leahy’s cross was adjudged to have been blocked by an arm in the box.
JCH coolly converted the penalty low to his left to extend the Gas’ advantage to 2-0 with just 15 minutes to play.
The momentum stayed with the home side following the goal, this time Tony Craig releasing Mitchell-Lawson who could only find the side netting.
An opportunistic flick by JCH almost had him taking home the match ball after Liam Sercombe’s free-kick from the left.
JCH was denied a treble once more by Jon McLaughlin in the visitors’ goal. The striker controlled well inside the box before swivelling and firing his shot hard and low, with the keeper up to the challenge.
Will Grigg nearly grabbed a consolation goal in stoppage time but it wasn’t to be as the Gas held out for a well deserved clean sheet and three points.
Rovers will look to keep this winning feeling as they welcome Ipswich to The Mem on Saturday.
Bristol Rovers: Jamal Blackman (G), Alfie Kilgour, Tony Craig, Cian Harries, Luke Leahy, Alex Rodman, Ollie Clarke (c), Liam Sercombe, Jayden Mitchell-Lawson (79), Cameron Hargreaves (83), Jonson Clarke-Harris (90).
Subs: Jordi van Stappershoef (G), James Daly (79), Rollin Menayese, Josh Hare (83), Michael Kelly (90), Kyle Bennett, Sam Matthews.
Sunderland: Jon McLaughlin (G), Jordan Willis, Alim Ozturk (70), Tom Flanagan, Luke O’Nien, Denver Hume, Max Power (c), Josh Scowen (87), Chris Maguire, Kyle Lafferty (45), Antoine Semenyo.
Subs: Lee Burge (G), Conor McLaughlin, Joel Lynch, George Dobson, Will Grigg (87), Charlie Wyke (45), Lynden Gooch (70).
Attendance: 7,281 (1,175)