Tottenham up to third with victory over Fulham and Edin Dzeko on target again for Manchester City in 3-0 triumph against Stoke City.
Premier League round-up: Fulham secure rare away win
West Bromwich Albion 1 Fulham 2
The Cottagers had slid towards the bottom three after winning only one of their previous 12 games but were well worth their second away success of the campaign.
Dimitar Berbatov's seventh goal of the season gave the Cottagers a half-time lead, and although Romelu Lukaku levelled after the break, Kacaniklic restored the visitors' advantage.
It enabled Fulham to complete their first ever Premier League win at The Hawthorns at the seventh attempt and a double after the 3-0 win at Craven Cottage in September.
Berbatov had netted twice in that game and was again an inspirational figure with his vision and control, while Kacaniklic was a handful down the flanks.
Swansea City 2 Aston Villa 2
The visitors had conceded 15 and scored none in their last three games and Wayne Routledge added to their woes as he fired the hosts ahead in the ninth minute.
But gritty Villa had looked set to take the points after Andreas Weimann levelled and Christian Benteke scored from the spot when Nathan Dyer conceded an 84th minute spot-kick for a foul on Weimann.
However, Graham volleyed home after Michu's effort had been blocked in a late goalmouth scramble, leaving Lambert with his head in his hands.
Tottenham Hotspur 3 Reading 1
Tottenham were caught cold in the fourth minute when Pavel Pogrebnyak scored in his second successive game, but the lead lasted just over four minutes.
The impressive Gylfi Sigurdsson crossed for Michael Dawson to score his first league goal since February 2011 and Spurs then took control of the game in the second half thanks in no small part to the influence of Lennon.
With Gareth Bale out of the team through suspension, Lennon was give the chance to take centre stage and he grasped it with both hands.
The England winger, who gave veteran defender Ian Harte no end of trouble all afternoon, crossed to allow Emmanuel Adebayor to put Spurs ahead in the second half and Clint Dempsey's deflected effort 11 minutes from time sealed the win.
Manchester City 3 Stoke City 0
The Barclays Premier League champions were rarely troubled as they eased to a convincing victory at the Etihad Stadium after Zabaleta opened the scoring late in the first half.
Dzeko tapped in for a second just before the hour and the lively Aguero added a third from the penalty spot 16 minutes from time.
West Ham United 2 Norwich City 1
The Irons, who last won against Chelsea here on December 1, went ahead through a Mark Noble penalty after just three minutes when referee Mark Clattenburg spotted a shirt pull by defender Ryan Bennett.
Norwich midfielder Robert Snodgrass rattled the woodwork with a free-kick before Joey O'Brien crashed home a second goal on 26 minutes, which proved enough for a morale-boosting victory ahead of next weekend's FA Cup tie against Manchester United.
Russell Martin netted a late consolation with a well-taken volley for his third goal in two games.