Bradley Johnson's first goal of the season was enough to give Norwich City three precious points against Stoke City, securing their second successive 1-0 Premier League home win.

It was a hard-fought victory in what was far from a classic contest, with Johnson striking one minute before half-time with a well-placed backheader from a Robert Snodgrass free-kick.

Stoke were angry with the award after Andy Wilkinson was adjudged to have shoved Snodgrass over and was shown the yellow card.

City had enjoyed the better of a subdued opening half, with Anthony Pilkington denied by Stoke keeper Asmir Begovic, but it was generally a game of few clear-cut chances.

Stoke had the better openings after the break, when City goalkeeper John Ruddy denied Jonathan Walters with an important save and substitute Kenwyne Jones fired wide when he should have equalised.

Chris Hughton's Canaries have now taken seven points from three games to move up to one point per match from their first 10 fixtures.

The one negative was the loss of defenders Michael Turner and Javier Garrido with injury in the second half.

The Canaries showed two changes to the team that started the 1-1 Premier League draw at Aston Villa a week earlier.

Steven Whittaker made his league debut after his midweek introduction against Tottenham in the Capital One Cup, with Russell Martin sidelined by a back problem.

Robert Snodgrass was preferred to Elliott Bennett on the right side of midfield, with Bennett named among the substitutes.

The Stoke line-up showed one change after the 0-0 draw against Sunderland, Andy Wilkinson replacing Marc Wilson (broken leg) at left-back.

City won the first corner in the fourth minute when Huth headed clear from a Snodgrass cross. When Stoke failed to clear Snodgrass's kick, Tettey let fly with a shot that was deflected wide.

The Canaries were guilty of giving the ball away twice in their own territory and were fortunate that Walters did not make more of an opening when presented with the ball by Bassong, and that Adam fired narrowly wide when Garrido's square pass went straight to him.

It was a very low-key first 20 minutes after the late drama against Spurs, with neither side able to find the final ball and neither goalkeeper really troubled.

Hoolahan's trickery provided a real opening on 23 minutes, however, when he played Pilkington into a shooting position and he was denied the opening goal only by the legs of keeper Begovic.

One minute later, Holt's pass set up Pilkington again, but this time he curled his shot into the 'keeper's arms.

Adam was shown the yellow card after 26 minutes when referee Marriner decided he had dived under the challenge of Garrido.

Crouch sliced a shot horribly wide in a rare Stoke raid, and Adam brought Ruddy into action with a long-range effort but it was straight at the City 'keeper.

Just one minute before the break, however, City took the lead with Johnson's first goal of the season.

Wilkinson was penalised for a shove on Snodgrass on the City right and was shown the yellow card, both of which angered the Stoke players and management, but Snodgrass floated the free-kick into the area where Johnson produced a neat backheader that looped perfectly out of reach of Begovic into the top corner.

It might have been 2-0 in first-half stoppage time when Garrido and Pilkington combined well and Pilkington's cross whistled across the six-yard box with Snodgrass unable to apply the finishing touch.

• Half-time: Norwich City 1, Stoke City 0

A minute after the break, Hoolahan tried his luck with a huge effort on the bounce from just inside the Stoke half that Begovic needlessly palmed out for a corner. City forced two flag-kicks but neither troubled the Stoke defence.

Seven minutes into the half, Ruddy came to the rescue as Crouch and Adam flicked the ball on to where Turner failed to clear, leaving Walters through to jab the ball goalwards, but the 'keeper made a fine save.

Turner was injured as he slipped to the ground and after leaving the field, he was replaced by Ryan Bennett.

Tettey was shown the yellow card for a shove on Adam, then Adam supplied the cross for Walters but the former Ipswich man volleyed hopelessly over.

With just under half an hour left, Stoke made their first change with Etherington replacing Kightly.

A swift counter-attack from Norwich provided one of their better moves as Hoolahan, Snodgrass and Tettey all combined well and Holt crossed beyond the far post, where Pilkington had to reach just too far to direct his volley on target and sent it high into the crowd.

There was a double change on 69 minutes with Jones sent on for Walters for Stoke and Garrido, who appeared to have a knock, making way for Barnett.

It meant a reshuffle at the back as Whittaker switched to left-back, Ryan Bennett moved to right-back and Barnett partnered Bassong in the centre of defence.

Jones was quickly in the action with a header that Ruddy saved from an Adam free-kick, after Barnett was adjudged to have fouled Crouch.

Stoke looked livelier and Crouch hooked a scissor kick over the bar as they stepped up their efforts for an equaliser.

Substitute Jones really should have levelled after 77 minutes when Ryan Bennett's header fell to him but he pulled his shot past the post.

Pilkington showed his frustration when referee Marriner blocked his progress and Stoke came away with the ball, the official apologising as play continued.

Shawcross was booked for pulling Holt to the ground and, with three minutes left, Hughton replaced Hoolahan with Morison.

A free-kick from Pilkington was straight at Begavic as the seconds ticked away.

Etherington was booked for lashing out at Bassong in stoppage time as tempers flared in the Norwich goalmouth.

• Norwich City: Ruddy; Whittaker, Turner (Ryan Bennett, 54), Bassong, Garrido (Barnett, 69); Tettey, Johnson; Snodgrass, Hoolahan (Morison, 87), Pilkington; Holt. Subs (not used): Bunn, Howson, Elliott Bennett, Jackson.

• Stoke City: Begovic; Cameron, Shawcross, Huth, Wilkinson (Whelan, 85); N'Zonzi, Whitehead; Walters (Jones, 69), Adam, Kightly (Etherington, 61); Crouch. Subs (not used): Sorensen, Upson, Palacios, Jerome.

• Referee: Andre Marriner (West Midlands)

• Attendance: 26,072

• Goal: Norwich: Johnson (44)

• Bookings: Norwich: Tettey (58). Stoke: Adam (26), Whitehead (41), Wilkinson (43), Shawcross (86), Etherington (90)