Leon Osman's second goal in as many games gave Everton victory over Swansea City and only their third home win of the season.

The midfielder had just wasted a good chance, toe-poking Phil Neville's free-kick at Swansea keeper Michel Vorm, when he headed the hosts in front.

Osman guided Roysten Drenthe's right-wing corner past Vorm to seal their first victory in four games.

Danny Graham's close-range header was Swansea's only chance in a poor game.

But Everton boss David Moyes will not mind how his side secured victory as the Toffees beat a newly promoted side and kept a home clean sheet for the first time this season.

Everton's triumph could have been greater if referee Kevin Friend had awarded a penalty when Ashley Williams's arm blocked a seemingly goal-bound shot from substitute Magaye Gueye in the first half.

But Osman's winner proved decisive in a game between two of the lowest scorers in the top-flight this season as Everton extended their all-time unbeaten record against the Welsh team.

EVERTON v SWANSEA FACTS

  • Everton have never lost to Swansea in 15 games in all competitions
  • Everton secured their 1,800th league win by beating Swansea
  • Swansea have the worst away record in the Premier League this season (3 draws, 6 defeats)
  • Swansea are yet to earn a Premier League point after going behind

The hosts edged a forgettable first half and, with chances at a premium, Everton pair Johnny Heitinga and Louis Saha both missed the target with headers.

And when the hosts finally found their way through the visiting defence, goalkeeper Vorm, so often Swansea's hero this season, once again did the business.

Gueye, who had replaced the injured Seamus Coleman, hit Leighton Baines' cut-back goalwards.

But the Swans goalkeeper kept out the Everton midfielder with a superb one-handed save before Williams blocked Gueye's rebound.

The second effort hit Wales defender Williams's arm but Everton players did not appeal and no penalty was awarded.

Drenthe, Everton's main goal threat, then went close with a curling 20-yard free-kick at the end of the opening period.

Osman did hit the target early on in the second half but his tame poke from Neville's quickly taken free-kick was easily dealt with by Vorm.

But somehow Everton's little midfielder did find space in the Swansea box, losing his marker Stephen Caulker, to break the deadlock on the hour.

Drenthe's inswinging right-wing corner teased the Swans defence and Osman, who nudged home the leveller against Norwich  on Saturday, again applied the clinical finish that earned Everton their 1,800th league win.

Swans striker Graham had the their only real sight of goal but the top scorer headed Wayne Routledge's deep cross straight at Everton keeper Tim Howard as Swansea's search for an away win in the Premier League continued.

Moyes relieved after hard-fought win

Everton manager David Moyes: "We needed to win but Goodison's been good to us in the years gone past regarding picking up the victories so let's hope tonight we can start to get on a good run here.

"The last few games Leon Osman has come back to the sort of form we know.

"He got us a goal on Saturday, he got us another one tonight and he's been a really important member of the squad.

"He's got an intelligence that allows us to work with him on the way he plays and what we asked him to do tonight. Because Swansea are a top passing team and a very good team."

Rodgers rues single defensive lapse

Swansea City manager Brendan Rodgers: "I'm disappointed because I felt defensively throughout the game we were excellent.

"Then the goal that we concede comes in an area that we feel we defend well - and the smallest guy in their team ends up getting the header in and scores.

"I've got to say I didn't think it was a corner, when you watch it again on the replay we defended it well and Drenthe has got down the side, Ash has just shepherded him to the line and he has tried to cross it with his right foot and kicked it behind.

"But we should defend it better when the corner comes in."

Sorry, we were unable to load match stats, please try again.