The Uruguayan's second half goal made the difference after Mathieu had seen his early opener cancelled out by Ronaldo
Luis Suarez's second-half strike ensured Barcelona beat Real Madrid 2-1 at Camp Nou to go four points clear of their arch-rivals at the top of La Liga in a typically enthralling Clasico.
Suarez endured a miserable Barca debut when the Catalan giants were beaten 3-1 at the Santiago Bernabeu back in October, but gained revenge by scoring his first goal in the biggest fixture in club football on Sunday to secure three precious points.
Jeremy Mathieu's first Liga goal for Barca put them in front in the first half, but Cristiano Ronaldo rounded off a fine move to equalise with his 42nd goal of the season before half-time.
Gareth Bale – much maligned in the game's build-up - had a goal ruled out before the break, with Ronaldo just offside, and Suarez's seventh goal in as many games settled it to put Barca in command of the title race heading into the international break.
Defeat for Real will lead to further questions over Carlo Ancelotti's future, with reports in the Spanish media claiming the Italian's job would be under threat in the event of a loss.
Barca have now won seven games in a row and their dreams of winning a famous treble are very much alive.
Familiar recent struggles in front of goal came back to haunt Real, though a highly charged atmosphere was almost silenced early on when Ronaldo's close-range volley struck the crossbar after Karim Benzema picked him out 11 minutes in.
Isco fired a shot narrowly wide from the edge of the penalty area as Barca were forced onto the back foot in a typically frantic start with so much at stake.
But Real's failure to finish was punished as Barca went in front after 19 minutes.
Mathieu was the unlikely scorer, evading Sergio Ramos to head home Lionel Messi's inviting free-kick with only his second goal for the club.
An unmarked Neymar somehow failed to double their lead with a tame finish from inside the six-yard box and he was made to pay when Ronaldo equalised with a well-worked goal just after the half-hour.
Luka Modric played the ball forward for Benzema, whose clever first-time backheel allowed tne Portuguese attacker to surge ahead of Dani Alves and beat Claudio Bravo with a neat finish.
Bale thought he had put Real in front, but Ronaldo was called offside when he nodded the ball on for the Wales forward to tap in.
The former Tottenham man ought to have made up for that disappointment, but fired wide after the ball fell kindly for him in the penalty area late in a first half in which Ronaldo was also booked for diving.
Madrid continued where they left off after the break and Bravo did well to keep out Benzema's strike after the France striker again linked up well with Ronaldo.
Barca were back in front 11 minutes into the second half, though, with Ramos this time caught out by a ball over the top from Alves which sent Suarez clear and the Uruguay striker showed great control before guiding the ball into the far corner of the net with a fine finish.
As Real frantically sought an equaliser, they were left exposed at the back – Neymar and Messi shooting off-target when well-placed.
A late charge from the visitors failed to materialise, Jordi Alba and Messi were denied by Iker Casillas in the closing stages as Barca attempted to kill the game off, but two goals proved to be enough to seal a potentially pivotal victory.