Pinch-hitter Jurickson Profar connected on a solo homer in the eighth inning and Jake Cronenworth added a two-run single as the Padres pulled away.
Snell (1-0) gave up one earned run and five hits in five innings, striking out six. The 2018 AL Cy Young Award winner was acquired from Tampa Bay in an offseason trade.
"It feels good. ... Really good tempo, good pace, good rhythm," Snell said. "I'll continue to grow and get better, I'm not too worried about that."
Machado provided all the offense San Diego would need with his three-run shot to left-center field off Anthony DeSclafani (2-1) in the first inning.
"It just feels like the whole squad is getting in sync," Machado said. "As of April the bullpen and pitching staff carried us. I think it is about that time that the offense starts chipping in and starts doing what we need to do."
Leadoff hitter Trent Grisham singled and Fernando Tatis Jr. walked before Machado jumped on a hanging knuckle-curve.
"I was trying to hit the ball, trying to find a hole. I found one - over the fence, I guess. That is the way it works," Machado said. "We are just trying to get those early runs for Snell, give him a lead for the first time, help him get his first win."
Staked to a 3-0 lead, Snell was in charge through the first three innings. He worked out of a bases-loaded jam in the fourth by getting Wilmer Flores to ground into a 6-4-3 double play.
"Early on he was super sharp. Had all his pitches in play," Padres manager Jayce Tingler said. "He did a great job keeping them off balance."
San Francisco rallied in the fifth. Mauricio Dubon hit his first home run of the season, a leadoff shot to left field. After an error by Cronenworth at second base, Darin Ruf drove in a run with a sharp single to make it 3-2. Snell struck out Brandon Belt swinging with the bases loaded to preserve the slim lead.
Snell was lifted for a pinch-hitter in the fifth.
Profar homered on the first pitch of the Padres eighth against reliever Camilo Doval to make it 4-2.
Later in the inning, Tatis and Eric Hosmer executed a double steal with two outs. Cronenworth followed by driving in two runs with a single to right against reliever Jose Alvarez.
"Our guys are pretty fearless," Tingler said. "When they have a chance to grab an extra 90 (feet), we are going to role the dice here and there."
DeSclafani lasted six innings, giving up three earned runs and three hits while striking out three.
"I just hung the pitch to Machado," DeSclafani said. "At this level if you are going to hang curveballs like that then they are going to get whacked."
Giants: Manager Gabe Kapler said SS Brandon Crawford wasn't in the starting lineup due to a calf injury, but the team hoped he would be available to come off the bench if needed.
Giants: RHP Kevin Gausman (1-0, 2.14 ERA) starts Sunday in the three-game series finale.
Padres: Tingler had not announced a starter for Sunday yet. It could be RHP Joe Musgrove (2-2, 1.24), who would be pitching on his regular turn, or RHP Dinelson Lamet if the Padres determine he's healthy enough to come off the injured list.
Machado gives Padres early lead with 3-run homer
Manny Machado sends a three-run home run to left field in the first inning vs. the Giants.