England revived hopes of retaining their RBS Six Nations title with a gripping victory at Twickenham.
But the world champions were given a major scare by a resurgent Welsh outfit which fought back from 16-9 down to take a 21-16 lead.
Ben Cohen’s second try levelled matters and Joe Worsley’s late score sealed victory, Olly Barkley adding 16 points.
Gareth Thomas and Mark Taylor both crossed for Wales and Stephen Jones kicked 11 points but it was not enough.
While the visitors are left with a final home fixture against Italy, England will travel to Paris knowing victory should see them crowned champions.
The line-out woes that cost them dearly against Ireland were duly rectified, but the margin of victory was agonisingly close given their welter of possession.
Tom Shanklin, a late call-up to the Welsh midfield after Iestyn Harris was forced to pull out injured, started impressively with a slashing break inside Barkley.
But England swiftly countered to open the scoring in the sixth minute.
Cohen had plenty to do when he received Will Greenwood’s pass 25m out, but he bounced out of Gareth Thomas’ tackle and held off Jonathan Thomas to dot down.
Barkley converted superbly from wide out, but Wales hit back with two Jones penalties, the first thumped over from a metre inside his own half.
Wales conceded penalties at regular intervals however, Barkley punishing them twice in quick succession to make it 13-6 at the end of the first quarter.
Jones’ third penalty – after Dafydd Jones and Colin Charvis did well to salvage a retreating scrum – kept Wales in touch.
But England, despite gaining the ascendancy up front, wasted two opportunities when Cohen failed to find any support after a Barkley break, and Chris Jones’ offload eluded Greenwood.
Wales lock Brent Cockbain limped off before the half-hour, allowing the veteran Gareth Llewellyn a record-breaking 12th appearance against England in his 86th Test.
Barkley’s third penalty extended England’s half-time lead to 16-9, but Wales responded with a superb try on the resumption to level the scores.
Props Gethin Jenkins and Duncan Jones were both involved, the latter’s pass sending Thomas in at the right corner for his 33rd Test try, equalling the Welsh record of Ieuan Evans.
Jones then missed an opportunity to put Wales in front with a sliced penalty attempt, but the visitors stunned England with a second try in the 50th minute.
A poor kick from Barkley allowed Wales to counter, and a brilliant reverse pass from Dafydd Jones saw Shane Williams draw Jason Robinson to put Taylor over in the left corner.
Jones narrowly missed the conversion, but the spectre of a third Welsh try loomed as Llewellyn threw Greenwood a dummy as he loped through the England midfield.
But the match entered the final quarter with England laying siege to the Welsh line, Cohen and Josh Lewsey both denied by superb last-ditch defence.
The barricades were finally breached when Cohen scored his second try from close range after Phil Vickery and Matt Dawson were both held up short.
Barkley’s conversion regained the lead at 23-21 and he added a further penalty before Worsley’s late try sealed Wales’ fate.
Robinson, Lewsey, Greenwood, Tindall, Cohen, Barkley, Dawson; Woodman, Thompson, Vickery, Grewcock, Kay, Jones, Hill, Dallaglio.
Regan, White, Borthwick, Worsley, Gomarsall, Catt, Simpson-Daniel.
G Thomas, R Williams, Taylor, Shanklin, S Williams, S Jones, Cooper; Du Jones, McBryde, Jenkins, Cockbain, Owen, J Thomas, Charvis, Da Jones.
Davies, Evans, Llewellyn, Williams, Peel, Sweeney, Robinson.