Matt Nieto, Tomas Hertl, Nick Bonino, Logan Couture and Jacob Middleton also scored for San Jose, which won its second consecutive game. James Reimer made 26 saves to earn his sixth win.
"I thought it was one of those games where there were a lot of momentum shifts,'' Sharks coach Bob Boughner said. "I was happy with the way we stuck with it. I think it could've gone the other way on us real quickly.''
Brady Tkachuk had a goal and an assist for the Senators, who also got goals from Josh Norris and Connor Brown. Matt Murray made 23 saves in defeat.
"I thought we played a pretty good game,'' Tkachuk said. "We controlled the play pretty well I thought the first 40 (minutes) and then we played pretty well until they got that one with eight minutes left or something. So definitely frustrating, but we're gonna have to learn from this one.''
Nieto opened the scoring for San Jose with his first of the season just over seven minutes into the first period.
Norris netted the equalizer later in the period for his team-high eighth goal.
Hertl's eighth put the Sharks ahead 2-1 in the second, but Tkachuk and Brown answered with goals 1:33 apart to give Ottawa its first lead.
Bonino, playing in his 700th career game, tied it on the power play with 31 seconds left in the second period, his first goal with the Sharks.
"That was one of the happiest goal piles I've been in,'' Bonino said. "The guys were pretty happy for me. It felt like I could exhale finally.''
With the game tied at 3, Meier buried his seventh of the season just more than midway through the third.
"(Rudolfs Balcers) made a great pass to me and I was coming into the slot and just had the defenseman flat-footed there and got a pretty good shot off,'' Meier said.
Couture added an empty-netter with 1:04 left, his seventh goal of the season. Middleton also scored an empty-netter in the final minute for his first NHL goal.
"At the end of the day, it's about winning,'' Norris said. "We've got to dig ourselves out of it and just keep playing.''
BACK IN TOWN
Dylan Gambrell returned to San Jose for the first time since being traded to Ottawa for a seventh-round draft pick on Oct. 24.
"Mixed emotions, I guess,'' Gambrell said before the game. "It's great to be back. I enjoyed my time here, obviously, and everybody was great to me. It's great to be back, but at the same time, being on a different team now, it's like any other game once you get on the ice.''
Gambrell was minus-1 in 10:32 on the ice.
Boughner was asked about LW Evander Kane, who is eligible to return on Nov. 30 after his 21-game suspension for submitting a fake COVID-19 vaccination card.
"There's been no update,'' Boughner said. "Obviously, there's gonna have to be here in the next four, five days. But from my standpoint, I think we're just doing a good job of trying to eliminate any distractions and I think Evander's done a good job of that and let us focus on our team and what we have here and what we can control, and we'll get to that point.''
NOTES: Sharks C Jonathan Dahlen missed his second straight game with an upper-body injury. He remains day-to-day. ... D Brent Burns didn't have a point, ending a 14-game streak against the Senators dating to 2013. ... Senators D Nikita Zaitsev was removed from the NHL's COVID-19 protocol and was plus-1 in 15:17 of ice time. RW Drake Batherson remains on the protocol list.
Senators: Visit the Anaheim Ducks on Friday.
Sharks: Host the Toronto Maple Leafs on Friday.