You are not permitted to download, save or email this image. Visit image gallery to purchase the image.
Flyhalf Dan Biggar chipped through towards wing North, who shrugged off Morgan Parra's tackle and dived in at the corner with eight minutes left after Frederic Michalak and Leigh Halfpenny had scored two penalties each.
Halfpenny converted and added a penalty five minutes from time to seal Wales's first win since they beat France at the Millennium stadium to claim the Grand Slam in last year's Six Nations.
France now face a difficult trip to England in two weeks' time while Wales will take restored confidence into their match against Italy at the Stadio Olimpico.
"We always knew that we could win, but we had to dig very deep to take that win against France. It's a great emotion," Halfpenny told French TV channel France 2.
France Flyhalf Michalak said: "We defended well but we lacked efficiency in attack, just like last week."
France, who had started the championship with an embarrassing defeat against Italy, and Wales, who were beaten by Ireland, both defended well but were toothless in attack on a chilly Parisian evening.
With Mathieu Bastareaud making his first start in almost three years, Les Bleus once again lacked flair.
Wales looked nothing like the team who claimed the Grand Slam last year until the final minutes.
Their late rally provoked an angry reaction from the Stade de France crowd, who booed the French players off the pitch at the final whistle.
Wales began well with scrumhalf Mike Phillips breaking through a couple of tackles and coming close to the line on a churned-up pitch that quickly deteriorated following heavy rains in Paris.
Biggar tried a drop goal from distance early on but it fell a long way short, while the game was ten minutes old before France made their first foray into the Welsh half.
France went ahead against the run of play thanks to a Michalak penalty after the Wales pack collapsed a scrum 40 metres from the posts.
Halfpenny levelled with an easy penalty after Jocelino Suta failed to roll away.
Bastareaud and Jocelin Suta threatened with powerful runs and France looked set to be rewarded with a try after an extended spell of possession, but the Wales defence held firm and Halfpenny eventually cleared.
The Wales fullback made it 6-3 just minutes into the second half with another penalty straight in front of the posts.
France reshuffled their backline with Francois Trinh-Duc coming on for the injured wing Benjamin Fall and switching positions with Yoann Huget at fullback.
Trinh-Duc missed a routine drop goal as France opted against going for a try when well inside the 22-metre line.
France coach Philippe Saint-Andre freshened up his front row, replacing Yannick Forestier and Dimitri Szarzewski with Benjamin Kayser and Vincent Debaty.
He also brought on Damien Chouly for flanker Fulgence Ouedraogo while Luc Ducalcon replaced Nicolas Mas.
Michalak slotted a penalty to draw France level before Wales made changes of their own with Ken Owens coming on for hooker Richard Hibbard and Paul James replacing Gethin Jenkins.
Morgan Parra took Maxime Machenaud's place at scrumhalf as France looked to add experience with the match heading for a tense finale.
The French scrum gradually took the upper hand, but it was the Welsh backs who made the difference, with North diving in at the corner following Biggar's moment of inspiration.
Halfpenny slotted the tricky conversion and added the final nail in France's coffin with his third penalty.