Following months of speculation, Mascherano signed a four-year permanent contract with Liverpool on 29 February 2008, ending his association with Media Sports Investments. The transfer reportedly cost Liverpool £18.6 million, and covered not only the transfer fee, but also the player's wages for the four-year deal. It was allowed to go through immediately as Mascherano was not contracted to another club, making him exempt from the rules of the transfer window. He scored his first Premier League and Liverpool goal on 15 March 2008, with a 20-yard strike against Reading.
In his first game at Old Trafford against Manchester United on 23 March 2008, Mascherano was sent off after collecting two yellow cards. He was initially booked for a late tackle on Paul Scholes, and later dismissed for running towards referee Steve Bennett to protest a yellow card shown to Fernando Torres. Mascherano had to be pushed from the field of play by Steven Gerrard and Xabi Alonso. Rafael Benítez was forced to leave the dugout and plead with Mascherano to leave the field, and he was escorted down the tunnel by Peter Crouch. The Football Association ruled that the usual one-game suspension be increased to three games for improper conduct. Mascherano admitted the improper conduct charge levelled at him, but appealed against the further two-to-three-match suspension. This appeal was denied by The Football Association, however, and Mascherano was also fined £15,000; he demanded that this fine would be paid to a charity.
With the controversial incident behind him, Mascherano would play a role in Liverpool's 2–1 win over Manchester United at Anfield on 13 September 2008, although he was at fault for failing to cover countryman Carlos Tevez, who scored for United less than three minutes into the game. Mascherano made amends for his mistake, and was instrumental in creating the goal which put Liverpool 2–1 up. Mascherano was voted Man of the Match by the fans on Liverpool's official website.
On 8 June 2008, Mascherano received his first red card for the national team after receiving two yellow cards in a match against the United States. He was sent off in the 86th minute of the match, which finished 0–0.
Soon after being appointed head coach of Argentina in November 2008, Diego Maradona announced that he wanted Mascherano to be the team's captain. "I want Mascherano to be my captain because I believe he is the Argentinian player who is closest to the idea I have about the Argentinian shirt – sweat for it, sacrifice for it, being a professional, being close to the team-mate," Maradona said. "I will convince him. He will be my captain."