A top prospect for years in the minors, Wood entered the game with only two home runs and a .173 batting average.
"I haven't put a swing like that on a ball the entire year, even in spring training," Wood said.
"I've been working on trying to get that swing back to where I'm driving the ball. Today was the first day where it was my swing. I wasn't thinking about working on this or that. I was just being me. It felt good."
Wood's slam capped a five-run eighth that broke open the game. Reliever Manny Corpas gave up an RBI double to Juan Rivera with one out and intentionally walked Napoli to load the bases.
With two outs, Wood connected for his third home run this season.
"I was pumped up, man. I was standing at third base. I was jumping up and down and my fist was in the air," teammate Torii Hunter said. "The last couple of games, it seems like his swing is totally different. It looks good. He looks confident. We kind of figured something great was going to happen because he was swinging pretty well. His swing looked totally different than it did in the first two months."
Ervin Santana (8-5) struck out seven in 6 2/3 innings for his second straight victory. Three relievers shut out the Rockies on two hits the rest of the way.
Jhoulys Chacin (4-7) struck out a career-high 12 in six innings. He gave up five runs, only two of them earned, on five hits.
"He pitched much better than his numbers would indicate. Early in the game, he had all of his pitches for strikes. I think if we put that fourth inning down, as well as he was throwing, there was the possibility for him to go deep in the game," Colorado manager Jim Tracy said.
Colorado led 2-0 when the Angels turned three hits and an error into four runs in the fourth, highlighted by Napoli's team-high 13th home run.
Chacin retired 10 of the first 11 batters he faced, including nine in a row, before the rally.
Kevin Frandsen was not in the Angels lineup after jamming his thumb Saturday night. He is batting .352 with a seven-game hitting streak. ... The Rockies' Jonathan Herrera extended his hitting streak to nine games. ... Erick Aybar ended an 0-for-13 slump with a fifth-inning single for the Angels.