Jason Williams' power-play goal with just over five minutes left in the third period gave the Detroit Red Wings a come-from-behind 5-4 victory over the Vancouver Canucks in an action-packed game Tuesday night.

In Pictures: Canucks vs Red Wings

The Wings (4-4-2) overcame an early 2-0 deficit to end a three-game losing streak. Pavel Datsyuk led Detroit with his first two goals of the season while Tomas Holmstrom and Niklas Kronwall also scored in the victory.

Henrik Sedin led Vancouver (6-6-0) with two goals and an assist while Christian Ehrhoff and Mathieu Schneider, with his first as a Canuck, added singles before a disappointed but entertained sellout crowd of 18,818 at General Motors Place.

Capping a frenetic third period, Williams put the Wings ahead for good at 14:57 with Vancouver defenceman Willie Mitchell serving a high-sticking penalty. Standing by the side of the net, Williams took Valterri Filppula's pass across the crease and easily beat Canucks goalie Roberto Luongo.

Johnson injured

Canucks centre Ryan Johnson was taken to hospital after he crashed heavily into the end boards during the second period.

A hush fell over GM Place when Johnson was strapped to a spinal board and then to a stretcher.

A team spokeswoman said later that Johnson was alert and had full movement but was taken to hospital for further observation.

Johnson moved briefly while Brad May of the Red Wings went to him and Detroit forward Kirk Maltby motioned to the Canuck bench for medical assistance.

The injury occurred after the Thunder Bay, Ont., native took the puck at the Vancouver blue-line, raced to the Detroit blue-line and chipped the puck into the Wings zone.

As he chased the puck, he clipped Maltby's skate and brushed the hip of defenceman Niklas Lidstrom.

He was off balance as he hit the end boards but it appeared he was able to tuck his head in before making contact with his back and shoulder.