David Villa kept up his good scoring record against Real as he netted his seventh goal in nine games against the Basques with only eight minutes on the clock.
Andres Iniesta made it two 13 minutes before the break, Messi struck at either end of the second half and substitute Bojan Krkic made it five at the death.
Barca, who beat fierce rivals Real Madrid 5-0 in their last league match at the Nou Camp, effortlessly matched that result with an easy victory which keeps Pep Guardiola’s side at the top of the Primera Division table after 15 rounds of matches.
Real Madrid continued their post-Nou Camp recovery with a deserved 3-1 victory over rock-bottom Real Zaragoza at La Romareda. Mesut Ozil’s early strike and a brilliant Cristiano Ronaldo free-kick put Madrid 2-0 up at half-time and Angel Di Maria lobbed home a third goal just after the break, making Gabi’s 54th-minute penalty for Zaragoza nothing more than a consolation.
The win means Madrid have now rattled up three successive victories since losing 5-0 to Barcelona, beating Valencia, Auxerre and now Zaragoza.
Also, by both scoring this wekend, Messi and Ronaldo are tied with 17 league goals at the top of the Pichichi standings.
The two clubs directly below Barca and Real both lost this weekend. Villarreal lost 1-0 to a Getafe team which played over half the game with ten men and ended it with nine, while Espanyol’s indifferent away form continued with a 2-1 lost at Athletic Bilbao.