© Getty Images
The home side also came close early on when Verza crossed the ball in towards Angel Trujillo, but he could not get a clean header away.
Messi was involved again shortly before the half-hour mark when he tried to head in the rebound from an Ivan Rakitic effort, but he was denied by the crossbar.
The striker was pushing again just before the break, but lost the ball to Fernando Soriano, who charged down the other end before finding Thievy Bifouma to slot the ball in, giving the hosts the lead.
© Getty Images
Adriano had a chance to double the home side's advantage just after the hour mark, but his ball into the box was cleared before Suarez charged down the other end on the counter, but his shot struck the crossbar.
The visitors eventually got back on level terms with just over 15 minutes to play as Neymar turned the ball in from close range following a cross from Suarez.
Messi tried to slot in a winner inside the last 10 minutes for Barcelona, but he was denied by the crossbar for the second time following another Suarez delivery.
The Uruguayan was involved again moments later, this time picking out Jordi Alba, and the Spaniard managed to find the back of the net with a low finish from close range to give the visitors the lead.
Almeria pushed hard in the final minutes to try to get back on level terms, but Barcelona did just enough to keep hold of the lead.
The result moves Barcelona back to the top of the table, having played a match more than Real Madrid.