Robert Pires' second-half penalty proved decisive as Arsenal overcame a stubborn Manchester City with their 500th Premiership goal at Highbury.
Thierry Henry was fouled by David James and Pires slotted home the spot-kick, to his relief after he blazed over an easy first-half chance from 10 yards.
But Pires then wasted a second penalty after bizarrely attempting to set up Henry and conceding a free-kick.
Darius Vassell almost made Arsenal pay but had a goal disallowed for offside.
The decision looked marginal, and Arsenal's relief was obvious, after Vassell's header from Joey Barton's cross was ruled out.
It was a real let-off for Arsenal, given Pires' absurd second spot-kick, awarded after Dennis Bergkamp had been felled by Stephen Jordan.
It appeared the Frenchman tried to roll the ball forwards and to his left to allow Henry to run in and execute the finish.
That is entirely legal as long as: the ball moves forward
the penalty taker does not kick the ball a second time until the ball is touched by another player.
And it has been done successfully before, when in the 1982-83 season, Ajax's Johan Cruyff exchanged passes with team-mate Jesper Olsen before scoring.
However, Pires scuffed his attempted pass and City were given a free-kick.
Luckily for Arsenal, Pires had earlier employed a traditional method of striking the ball home directly from the spot - sending David James, who had tripped Henry to concede the penalty, the wrong way.
Before the match Henry had been presented with a silver cannon by Ian Wright, the man he has replaced as Arsenal's record goalscorer.
And it took little time for Henry to demonstrate he is much more than a predator.
The Frenchman has created almost as many goals for others as the 186 he has scored himself and his tally as a provider should have increased on 14 minutes.
He rolled a perfect cut-back for compatriot Pires, but the winger's finish from 10 yards was deeply flawed, rising high over the bar.
How Arsenal would have liked the pair's roles to have been reversed in that scenario - but no-one would like to see them try it again from the penalty spot.
In the first half City's stubborn and resilient performance proved more than a foil for Arsenal's blunt attack.
And when the visitors came forward, Musampa could have opened the scoring but shot weakly from close range and then wide from distance.
The pattern of the match continued after the break, until the interruption of the two penalties.
And Vassell could have left Arsenal's faces as red as their shirts but busy referee Mike Riley, who also dished out eight bookings, prevented City earning a share of the points.
Manchester City manager Stuart Pearce:
"I thought my team played extremely well with great heart and we limited Arsenal to very few chances.
"The game hinged on one or two penalty decisions. We had a goal disallowed for offside but we showed great spirit and I'm very proud of my team.
"I'm disappointed we didn't get any points but I think our fans know we're not a walkover any more."
Arsenal: Lehmann, Lauren, Toure, Cygan, Clichy, Fabregas, Flamini, Silva, Pires, Bergkamp, Henry.
Subs Not Used: Van Persie, Senderos, Almunia, Owusu-Abeyie, Eboue.
Booked: Pires, Clichy, Bergkamp.
Goals: Pires 61 pen.
Man City: James, Mills (Richards 85), Sommeil, Jordan, Distin, Barton, Reyna (Croft 73), Ireland, Musampa (Jihai 85), Vassell, Sibierski.
Subs Not Used: Hussein, De Vlieger.
Booked: Barton, Vassell, Mills, Musampa, Sommeil.
Ref: M Riley (W Yorkshire).