Sebastien Bassong's 90th-minute header denied Everton victory and extended Norwich's unbeaten run to six Premier League games.
Steven Naismith put the Toffees ahead early on, powering into the roof of the net after good work by Bryan Oviedo.
But Everton faded after their bright start and Norwich began to threaten.
Robert Snodgrass had a shot cleared off the line and Anthony Pilkington went close, before Bassong met Javier Garrido's free-kick to snatch a point.
Everton were unhappy with the decision that led to Norwich's equaliser, with referee Mike Jones spotting a push on Steve Morison by Leighton Baines.
Moyes: Disappointed with Norwich draw
But in truth the Toffees only had themselves to blame for their failure to turn their early dominance into more goals, and for allowing Norwich back into the game.
Everton remain fifth in the table, having drawn five of their last seven games, but they are three points behind fourth-placed Chelsea having played a game more, and they will know they have wasted another opportunity to close the gap on the sides above them.
David Moyes's side certainly began the game well enough, and were first to threaten when Sylvain Distin found Naismith with a long diagonal ball and he teed up Leon Osman to curl a shot wide.
The home side kept the pressure up and took the lead after 12 minutes.
Steven Whittaker was unable to deal with Thomas Hitzlsperger's lofted pass down the left, allowing Oviedo to cut in and find Naismith, who buried his first-time strike.
Bassong finds the back of the net
Sebastien Bassong's header was his first goal for Norwich, and his first since he scored for Tottenham in a 1-1 draw with Birmingham on 4 December 2010.
That was only the second goal a newly resolute Norwich side had conceded in a run of three wins and two draws in the league since a 4-1 defeat by Chelsea on 6 October.
But more looked likely to quickly follow, with Everton's midfield dominating thanks to some quick-fire passing. Further chances duly arrived, with Baines forcing Ruddy into a fine low save from the best of them.
In contrast, Norwich did not test Tim Howard inside the first 30 minutes, but things began to change when Grant Holt went on a rampaging run, battling past two defenders before screwing his shot wide.
The Toffees got lucky before the break when Bassong met a Snodgrass corner but saw the ball come off his shoulder and bounce wide.
Hughton: Everton tough place to play
And, having seen his side surrender a first-half lead in their defeat by Reading last week, the alarm bells were surely ringing for Moyes as his side made a sluggish start to the second period.
Norwich, meanwhile, were growing in confidence. Pilkington forced Howard to scramble across his goal to keep out his free-kick and the Toffees keeper was fortunate when he flapped at Whittaker's through-ball but got just enough on it to deny Grant Holt.
Holt was involved again when he set up Snodgrass to fire in a shot which was hacked off his line by Johnny Heitinga, while Howard did well to keep out a Pilkington header after being initially wrong-footed.
Baines offered Everton some respite, embarking on a dazzling solo run that ended when Ruddy pushed away his shot, and also firing narrowly over from a free-kick.
But Norwich continued to press and got their reward right at the end of the game.
Baines was penalised for the merest of touches on Morison and Bassong met Garrido's delivery at the back post, his header coming back off the bar and bouncing in, with Holt waiting to knock it over the line if required.
Everton manager David Moyes was unhappy with the decision that led to Norwich's equaliser:
"I thought Steve Morison mis-kicked the ball in front of us and I don't think it was a free-kick.
"It was a tough game but we should have seen it out and I am disappointed to concede a goal.
"We had the opportunities to make it 2-0 but Norwich were always knocking on the door and their form has been very good of late so we knew it was going to be a tough game and it proved to be that.
"We played some excellent football in the first half, particularly the first 25 or 30 minutes and maybe we could have capitalised a little bit more.
"But we need to turn this good play and opportunities into goals. You can have as many passes and as much possession as you like and play whatever style you like, but the most important thing in foot is to win and that is the most important thing for me."
Norwich boss Chris Hughton:
"We know the things we have to do to get points in the Premier League, and games do not get any tougher than having to come to Everton, who are on a really good run.
"But we are on a good run ourselves at the moment and where I was delighted today was that, at 1-0 down, we always looked a threat.
"The game was very scrappy at times but it is always very pleasing when you score that late. It really is a valuable point for us.
"After five or six games we were not doing too well but our form was not actually that bad - we just were not able to pick up the points we would have liked.
"The pleasing thing for us now is that there are now points coming with our performance."
Simeon Jackson is flagged offside by the assistant referee. Free kick taken by Phil Jagielka.
Unfair challenge on Alexander Tettey by Apostolos Vellios results in a free kick. Direct free kick taken by Mark Bunn.
90:00 +1:33 Substitution
Substitution Apostolos Vellios is brought on as a substitute for Steven Naismith.
Assist on the goal came from Javier Garrido.
89:53 Goal scored
Goal! - Sebastien Bassong - Everton 1 - 1 Norwich Sebastien Bassong grabs a headed goal from close range. Everton 1-1 Norwich.
Leighton Baines challenges Steve Morison unfairly and gives away a free kick. Javier Garrido sends in a cross,
Substitution Robert Snodgrass goes off and Simeon Jackson comes on.
Leighton Baines fires a strike on goal direct from the free kick.
Booking Booking for Alexander Tettey for unsporting behaviour.
Booking Javier Garrido is cautioned.
Unfair challenge on Bryan Oviedo by Javier Garrido results in a free kick.
Anthony Pilkington takes a shot. Save made by Tim Howard.
Booking Booking for Johnny Heitinga for unsporting behaviour.
The offside flag is raised against Nikica Jelavic. Free kick taken by Mark Bunn.
Corner taken left-footed by Leighton Baines.
Substitution Mark Bunn replaces John Ruddy.
Free kick awarded for an unfair challenge on Leighton Baines by Robert Snodgrass. Tim Howard restarts play with the free kick.
Substitution (Norwich) makes a substitution, with Steve Morison coming on for Wesley Hoolahan.
Leighton Baines takes a shot. Save by John Ruddy.
Bryan Oviedo takes a shot. Save by John Ruddy.
Leon Osman fouled by Javier Garrido, the ref awards a free kick. Johnny Heitinga restarts play with the free kick.
Bryan Oviedo takes a shot. Bradley Johnson gets a block in.
Robert Snodgrass takes a shot. Clearance made by Phil Jagielka.
Tim Howard takes the free kick.
Booking Booking for Bradley Johnson.
Bryan Oviedo fouled by Bradley Johnson, the ref awards a free kick.
Phil Jagielka concedes a free kick for a foul on Grant Holt. Javier Garrido takes the direct free kick.
Alexander Tettey challenges Steven Pienaar unfairly and gives away a free kick. Sylvain Distin restarts play with the free kick.
Nikica Jelavic takes a shot. Blocked by Alexander Tettey.
Outswinging corner taken by Thomas Hitzlsperger from the left by-line played to the near post, Steven Whittaker makes a clearance.
Short corner taken by Thomas Hitzlsperger from the left by-line.
Unfair challenge on Steven Pienaar by Steven Whittaker results in a free kick. Free kick taken by Sylvain Distin.
Grant Holt concedes a free kick for a foul on Johnny Heitinga. Tim Howard takes the direct free kick.
The assistant referee flags for offside against Wesley Hoolahan. Sylvain Distin takes the free kick.
Sylvain Distin takes a shot. Save made by John Ruddy.
Leighton Baines fouled by Alexander Tettey, the ref awards a free kick. The free kick is swung in left-footed by Leighton Baines, clearance by Sebastien Bassong.
The referee gives a free kick against Steven Whittaker for handball. Free kick taken by Leighton Baines.
Javier Garrido concedes a free kick for a foul on Steven Naismith. Phil Jagielka restarts play with the free kick.
Foul by Johnny Heitinga on Wesley Hoolahan, free kick awarded. Anthony Pilkington shoots direct from the free kick, save made by Tim Howard.
The official flags Steven Naismith offside. John Ruddy takes the indirect free kick.
Unfair challenge on Sylvain Distin by Grant Holt results in a free kick. Sylvain Distin restarts play with the free kick.
Bradley Johnson gives away a free kick for an unfair challenge on Steven Pienaar. Free kick taken by Phil Jagielka.
Grant Holt fouled by Johnny Heitinga, the ref awards a free kick. Anthony Pilkington takes the free kick. Shot by Alexander Tettey from just outside the area goes over the net.
Steven Pienaar gives away a free kick for an unfair challenge on Anthony Pilkington. Free kick taken by John Ruddy.
Leighton Baines fouled by Robert Snodgrass, the ref awards a free kick. Sylvain Distin restarts play with the free kick.
The match restarts for the second half.
45:00 +2:21 Half time
Half Time The half-time whistle blows.
Free kick awarded for a foul by Leighton Baines on Robert Snodgrass. The free kick is swung in left-footed by Robert Snodgrass, Ryan Bennett concedes a free kick for a foul on Sylvain Distin. Direct free kick taken by Tim Howard.
Free kick awarded for a foul by Grant Holt on Phil Jagielka. Johnny Heitinga takes the free kick.
The official flags Grant Holt offside. Sylvain Distin takes the indirect free kick.
The offside flag is raised against Robert Snodgrass. Direct free kick taken by Tim Howard.
Leon Osman takes a shot. Save by John Ruddy.
Corner taken left-footed by Robert Snodgrass from the right by-line, Close range header by Sebastien Bassong misses to the right of the goal.
Javier Garrido gives away a free kick for an unfair challenge on Steven Naismith. Direct free kick taken by Phil Jagielka.
Inswinging corner taken left-footed by Thomas Hitzlsperger played to the near post, Nikica Jelavic gives away a free kick for an unfair challenge on Steven Whittaker. Free kick taken by John Ruddy.
Free kick awarded for an unfair challenge on Leon Osman by Grant Holt. Free kick taken by Leighton Baines.
The referee blows for offside. Johnny Heitinga takes the direct free kick.
Steven Naismith produces a right-footed shot from just outside the box that goes wide left of the target.
Leon Osman takes a shot. Save by John Ruddy.
Sebastien Bassong gives away a free kick for an unfair challenge on Steven Pienaar. Leighton Baines takes the free kick.
Bryan Oviedo challenges Sebastien Bassong unfairly and gives away a free kick. Direct free kick taken by John Ruddy.
The offside flag is raised against Nikica Jelavic. John Ruddy takes the indirect free kick.
Grant Holt produces a left-footed shot from the edge of the area and misses to the left of the goal.
Wesley Hoolahan is ruled offside. Indirect free kick taken by Tim Howard.
The assistant referee signals for offside against Grant Holt. Leon Osman restarts play with the free kick.
Leighton Baines takes a shot. Save by John Ruddy. Shot from deep inside the area by Leon Osman goes over the bar.
Nikica Jelavic fouled by Bradley Johnson, the ref awards a free kick. Thomas Hitzlsperger restarts play with the free kick.
Wesley Hoolahan has an effort at goal from outside the area missing to the wide right of the target.
Inswinging corner taken right-footed by Anthony Pilkington from the left by-line to the near post, Steven Naismith makes a clearance.
Bryan Oviedo provided the assist for the goal.
11:09 Goal scored
Goal! - Steven Naismith - Everton 1 - 0 Norwich Steven Naismith fires in a goal from deep inside the penalty box to the top right corner of the goal. Everton 1-0 Norwich.
Nikica Jelavic has a headed effort at goal from deep inside the area missing to the left of the target.
The assistant referee signals for offside against Grant Holt. Tim Howard takes the free kick.
Free kick awarded for an unfair challenge on Robert Snodgrass by Thomas Hitzlsperger. Free kick crossed left-footed by Robert Snodgrass from right channel, clearance made by Leon Osman.
The official flags Grant Holt offside. Indirect free kick taken by Tim Howard.
Leon Osman produces a left-footed shot from the edge of the area and misses to the left of the goal.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.