Suarez capitalised on wide open space in Madrid's midfield to knock in a simple pass from Sergi Roberto following a breakaway move in the 54th minute. That opened the scoring after a tense but tight first half in the early afternoon sun at the Santiago Bernabeu in Madrid.
Messi hammered in the second goal from the penalty spot 20 minutes later after Dani Carvajal was sent off for blocking a goal-bound header from Paulinho with his arm after Real were again easily picked apart on the counter attack.
Catalan defender turned winger Vidal hit the third in injury time to pile more misery on Madrid, who looked unrecognisable from the side who crushed Barca 5-1 on aggregate in the Spanish Super Cup in August.
Real failed to capitalise on their chances in the first half as Karim Benzema's header came off the post and Cristiano Ronaldo was denied by the flailing leg of Barca goalkeeper Marc-Andre ter Stegen. However, the European and Liga champions collapsed after the interval and Barca took full advantage.
Barca are nine points clear of nearest challengers Atletico Madrid at the top of the standings although Valencia could climb to second and close the gap to eight points later on Saturday if they beat Villarreal. Real are 14 points adrift but have a game in hand.
Instead of the usual late evening kickoff time, Spain's premier club fixture took place at 1200 GMT in a bid to capture a record television audience in Asia.
It was also played in the backdrop of a political crisis in the country, coming two days after elections in Catalonia in which separatist parties won a majority.
Real's supporters unfurled a giant banner before kickoff to boast of the unprecedented five trophies the team had won in 2017. The volume in the packed Bernabeu was cranked up when Ronaldo headed a corner in off the crossbar in under two minutes but the offside flag halted the premature celebrations.
Barca, the only unbeaten team in the league, took a less active role than they have in recent games at the Bernabeu, with their best chances before the break falling to Brazilian midfielder Paulinho.
They created a number of opportunities after the interval, however, and could have punished Real even further than they did.