The Sharks' offensive woes continued as they were shut out for the second game in a row, running their scoreless streak to 148 minutes, 30 seconds.
On top of that, center Patrick Marleau was held out of the game with an upper-body injury. He's listed as day to day.
"Some things aren't going well," Sharks coach Ron Wilson said. "We can't feel sorry for ourselves. We need to work our way out. Lots of teams have injuries right now."
All three Columbus goal-scorers have had difficulty finding the net over the last few weeks. Brule picked up his first goal in 16 games, Modin notched just his fifth in his last 27 games and Fedorov scored after not having a goal in his last 11 games.
"We kept it simple," Modin said. "We knew that they're tough to play against, especially through the neutral zone. They keep it tight -- it's tough to make plays through there. By us keeping it simple and getting the puck in and making sure we put some pressure on their defense, we are creating some chances."
The Blue Jackets had lost two in a row and five of the last six.
"We've taken a lot of steps, but the biggest step is the one we haven't taken yet -- consistency," coach Ken Hitchcock said. "It comes from inside the locker room."
It was Norrena's third shutout of the season.
"You could just see that the level of focus that we had tonight was just there, it was awesome," Norrena said. "You could especially see it in the box play, guys helping in front of the net and getting clears."
The Blue Jackets, 17-2-4 when scoring first this season, led 1-0 through two periods. Modin slid a drop pass between his skates to Brule, who fed him as he came in along the back boards. Modin tried a wraparound, but was stopped by goaltender Evgeni Nabokov. Modin got at least two more whacks at it and the puck eventually glanced off Nabokov's chest and into the net at the 4:56 mark of the second.
It was Modin's 14th goal of the year.
Brule made it 2-0 at 5:02 of the third with his fifth goal. He had not scored since Jan. 6, the last time the teams met. He also had a goal and an assist in that game, won by San Jose, 5-2.
After taking a pass from Fedorov, he streaked down the left wing and wristed a hard shot that beat Nabokov high over his left shoulder.
"I had my head up the whole way and put it right where I wanted," said Brule, a highly touted rookie who has had sporadic success. "I was so happy it went in."
With a two-man advantage, the Blue Jackets added an insurance goal when Nikolai Zherdev centered a pass to Fedorov in the high slot with 7:55 remaining for his 15th of the year.
San Jose was coming off a 5-0 loss to Nashville on Wednesday night.
"We shut out a good team," Brule said. "We were hard on their key players, like (Joe) Thornton and Cheechoo. We didn't give them a whole lot. We have to give credit to Freddy Norrena; he always plays good back there for us."
- The Sharks had won the last four and six of the last seven meetings with the Blue Jackets.
- Columbus RW David Vyborny extended his points streak to four games.
- San Jose was 0-for-4 on the power play.