The first chance of the match fell to the visiting Gunners in the seventh minute. Mikel Arteta picked out Theo Walcott with a 60-yard pass, but the England international's shot from a narrow angle was held by Liverpool goalkeeper Pepe Reina at the second attempt.
Despite Arsenal's early domination, it was the home side who broke the deadlock in the 18th minute. Luis Suarez exchanged passes with Dirk Kuyt, before being brought down by Arsenal goalkeeper Wojciech Szczesny inside the area. Kuyt took responsibility from 12 yards, but the Polish keeper made amends by saving Dutch international's effort, before getting up to parry away the rebound.
However, Liverpool did get themselves in front with 23 minutes played. Jordan Henderson's cross from the right failed to find a teammate but Arsenal defender Laurent Koscielny sliced the ball into his own net.
Henderson almost doubled his team's tally moments later, but Szczesny palmed away his effort, while Suarez struck the post from the rebound.
Liverpool's failure to score a second was punished in the 32nd minute when Van Persie headed his first of the afternoon following a cross from Bacary Sagna.
The home side hit the woodwork again in stoppage time as Kuyt turned Charlie Adam's cross against the post in the 70th minute.
Martin Kelly had Liverpool's best chance after the break, but he failed to make contact with Kuyt's cross from six yards out.
Just as the match looked to be heading for a 1-1 draw, Van Persie latched onto a lofted through ball from Alex Song to volley past Reina at the near post.
The defeat was Liverpool's first of the season at Anfield.