Blackburn Rovers 3 Newcastle United 0
After a disappointing first-half, McCarthy opened the scoring from the penalty spot after David Edgar had tangled legs with the South African striker inside the box.
Roberts doubled Rovers' lead just five minutes later with a crisp volley and after Nicky Butt was sent off for a second bookable offence, Roberts wrapped things up with a simple tap-in four minutes from time.
Since Allardyce's appointment in mid-December, Rovers have now gone five games unbeaten, keeping four clean sheets - with Roberts and McCarthy scoring all eight of their last league goals.
Whilst Rovers named an unchanged line-up from the their last league outing against Manchester City, Newcastle made two changes to the team that were knocked out of the FA Cup in midweek, with the recalled Andy Carroll looking dangerous early on.
The 20-year-old striker, who scored his first Newcastle goal against West Ham last weekend, headed wide of the target on six minutes, before seeing another header cleared off the line by Keith Andrews seven minutes later.
Rovers came into the game more as the half progressed, with Andre Ooijer firing over the bar after a neat one-two with fellow defender Ryan Nelsen, before the towering Chris Samba glanced Morten Gamst Pedersen's long throw inches wide of the far post.
That would prove to be Samba's last real involvement as on the stroke of half-time, the Congo international collided with Carroll and was replaced by fit-again David Dunn.
After enjoying the warmth of the dressing-rooms at the break, both sides had excellent opportunities to open the scoring early in the second half.
On 50 minutes, Michael Owen picked out the unmarked Charles N'Zogbia at the far post but the Frenchman volleyed high and wide.
Sixty seconds later, N'Zogbia fouled Andrews on the edge of his own box and McCarthy's fierce free-kick forced a sensational fingertip save by Shay Given, who tipped the ball onto the post.
But McCarthy didn't have long to wait before he was celebrating his fourth goal in his last four games.
After tumbling under the challenge of Edgar inside the box, the South African striker drilled the ball firmly into the bottom corner of the net.
And just five minutes later, Rovers wrapped up the points. Sebastien Bassong misjudged Paul Robinson's long free-kick, Pedersen's touch took it into the path of Roberts, who fired home a crisp volley.
And after a string of bookings - including a second of the game for Butt - the same duo combined for Rovers' third.
Andrews slipped in Pedersen down the left, the Norwegian fired the ball across goal and Roberts was on hand to tap into the empty net.