Portsmouth stun 10-man Liverpool
Superb strikes from Nadir Belhadj and Frederic Piquionne either side of halftime earned the hosts victory and Liverpool midfielder Javier Mascherano was sent off before the break for a messy challenge on defender Tal Ben Haim.
The hosts went ahead on 33 minutes when Algerian midfielder Belhadj spectacularly volleyed home following a poor defensive header from Liverpool fullback Glen Johnson.
The goal galvanised Portsmouth, who enjoyed the majority of possession, and they were further boosted when the visitors were reduced to 10 after Mascherano's clumsy tackle.
"I think in the first half we were controlling the game, but everything changed with the sending-off of Mascherano," Liverpool manager Rafael Benitez told Sky Sports.
Liverpool, who included Spanish international Fernando Torres in attack, created few opportunities and captain Steven Gerrard went closest to scoring with a deflected effort well saved by Asmir Begovic.
Portsmouth made sure of victory with 10 minutes left when on-loan Olympique Lyon striker Piquionne beat Jamie Carragher, who was making his 600th appearance, before firing smartly past Pepe Reina from a tight angle.
"I think today we play like a team and the most important thing is that we see progress," Portsmouth manager Avram Grant said.
"I think we showed ourselves we can do things good even though we are at the bottom of the table. I think we will surprise the other teams because they don't expect us to play football at this level."
Liverpool's seventh league defeat of the season heaped more pressure on Benitez whose side are seventh in the table and have dropped into the Europa League after failing to progress from the Champions League group stages.
Portsmouth drew level on 14 points with 19th-placed West Ham United having played a game more.