Barcelona hadn't suffered consecutive defeats since March.
"When you lose there are always doubts and questions that arise, but one game had nothing to do with the other," Barcelona midfielder Andres Iniesta said. "We have to correct our mistakes. It's a loss. That can happen. We shouldn't see it any other way."
Gerardo Martino's team has won once and lost twice since Messi suffered a left hamstring injury that will likely keep him out until January. And while Barcelona sputters, Atletico and Madrid keep on churning out wins.
"This team isn't used to losing two consecutive games," Martino said. "And we came here with the intention of rebounding from the first loss, so it's a shame not to win after we did enough to deserve it. Until Bilbao scored we were the better side, controlling the ball and creating chances for long stretches. After their goal it was a different game."
Also on Sunday, Valencia beat 10-man Osasuna 3-0, Sevilla won 2-1 at Granada, and Rayo Vallecano drew 2-2 at Real Betis.
The match was billed as perhaps the toughest test of the season for Barcelona coming off its first setback in 21 games and without the injured Messi, goalkeeper Victor Valdes, and defenders Dani Alves, Carles Puyol and Jordi Alba.
And so it proved to be as Bilbao stayed undefeated in seven games at its new San Mames Stadium. The victory lifted it into fourth place and in the final Champions League spot.
Like so many times in past meetings between the Basque and Catalan clubs, the pace remained frenetic and intense with the ball constantly changing sides until Bilbao took charge late as Barcelona faded after falling behind.
"I think we played a complete game from start to finish. I am very happy to have done my part to get the win by scoring the goal," said the 20-year-old Muniain, who added that Bilbao was aided by the fact that Barcelona had played a game midweek and arrived with wearier legs.
Early on, Barcelona coolly worked its way through Bilbao's pressure and just past the 10-minute mark deployed a number of one-touch passes in a series of attacks that went unrewarded.
Neymar first had his strike palmed over the bar by Bilbao goalkeeper Gorka Iraizoz in the 12th before Iniesta spoiled a back-heeled flip by Sergio Busquets by firing wide.
Then it was Bilbao's turn and Muniain had a golden chance to put the hosts ahead in the 29th, but he barely made contact on a deflected cross that reached him with only goalie Jose Pinto to beat.
Barcelona looked to hit Bilbao on the break, but Neymar slipped several times while trying to dribble and had to change his shoes in the 34th.
The new boots still didn't help the Brazil striker in the 50th when he wasted Cesc Fabregas' pass by sailing his shot high, and his frustration at Carlos Gurpegui's marking boiled over and soon earned Neymar a yellow card when he retaliated.
Neymar then drew a foul from Andre Iturraspe when he tackled the Brazilian from behind with only Iraizoz left. Barcelona clamored for a red card, but the referee settled for yellow. Neymar curled the resulting free kick by the near post in the 59th.
Bilbao kept up its pressure and it finally paid off when Ander Herrera stole the ball and passed to Markel Susaeta who crossed for the streaking Muniain to stab in the goal before Barcelona could recover in defense.
Barcelona never threatened to equalize, and Bilbao striker Gaizka Toquero almost added a second goal when he headed into the body of Pinto in the 74th.
"We said all week that we would play with the same intensity as always," Toquero said. "We pressured them well, stole a good number of balls and didn't let them play their game."
Valencia forward Jonas scored a hat trick after Osasuna saw Patxi Punal sent off with a direct red for a low tackle on Dani Parejo.
Sevilla striker Carlos Bacca scored one goal and set up Kevin Gameiro's 86th-minute winner.
Rayo's Alberto Bueno scored a brace to help his team escape the relegation zone with the draw that kept Betis in last place.