Barcelona was forced to come from behind though, after Inaki Williams raced clear to give Bilbao the lead in just the third minute.
Ronald Koeman’s men returned to parity in style, with a free-flowing team move ending with Messi’s deep cross being headed back by Frenkie de Jong for 18-year-old Pedri to equalize.
From then on, Messi stole the show, sweeping home after a cheeky backheel from Pedri to give Barcelona the lead and then adding a third with an emphatic finish after Antoine Griezmann’s incisive pass split the Bilbao defense.
His two goals put him tied with three others at the top of the goalscoring charts in Spain on nine overall.
It was Messi’s errant pass late on that gave Bilbao the chance to halve the deficit, but Barcelona was able to hold on to the three points to move seven behind leaders Atletico Madrid, who has two games in hand on the Catalans.
While it hasn’t been vintage Barcelona in recent weeks, the early season mistakes look to have been ironed out somewhat. In fact, since losing 3-0 at home to Juventus in the Champions League early in December, Barcelona has gone seven La Liga matches unbeaten, with five wins and two draws.
After the game, Pedri praised the team’s new-found mental toughness.
“We knew it was an important game, that’s how we approached it. We knew they’d look for Inaki (Williams) with his speed but we overcame that and got three very important points.”
Ending the run
Elsewhere, Federico Chiesa scored twice as Juventus produced an excellent display to beat AC Milan 3-1, ending the club’s undefeated start to the Serie A season.
The 23-year-old Italy international’s quick one-two with Paulo Dybala unlocked the Milan defense before Davide Calabria’s emphatic finish leveled the scores.
Chiesa’s second and Weston McKennie’s goal capped off Juventus’ magnificent performance and inflicted AC Milan’s first league defeat since last March — a run of 27 games, lasting 304 days.
Juventus, which has won the past nine Serie A titles, now sits seven points behind league leaders AC Milan.
AC Milan, without injured talisman striker Zlatan Ibrahimovic on Wednesday, is one point ahead of city rivals Inter Milan.
A slow start
The Argentine was officially confirmed as the French champion’s new coach on Saturday, following the sacking of Thomas Tuchel.
Having fallen behind to Romain Hamouma’s opener in the first half, Italian international Moise Kean drew PSG level. However, PSG was unable to find the net again despite having nearly 70% possession of the ball.
“We are PSG, we must win. I arrived three days ago but I’m happy with the way the players tried to apply what we worked on during practice.”
The draw moved PSG to second, leapfrogging Lille on goal difference. Lyon, after beating Lens 3-2, moved three points clear at the top.