Jurickson Profar had two hits as the Padres extended their winning streak to three with their fifth win in six games.
Wilmer Flores homered for the Giants, who lost their third straight after winning eight of 10.
Musgrove (5-0) struck out four and walked three on 100 pitches. The Padres are unbeaten in his eight starts.
''My main goal right now is just to get quality start after quality start,'' he said.
''I feel like with the offense we have and the defense behind us, if we can go six or seven (innings) with two or three or less (runs), we have a pretty good chance to win.''
Taylor Rogers worked the ninth, pitching around Austin Slater's leadoff single for his 16th save in 17 chances.
Machado's eighth homer, a 425-shot to center, came off a 1-2 fastball that Carlos Rodon (4-3) left over the middle of the plate, breaking a scoreless tie in the top of the third.
''His stuff is electric, good pitcher man,'' Machado said.
''He's effective with that pitch up in the zone, so with two strikes there - I missed the first one in the first inning - so I know he's going to try to beat me up there. so I wasn't trying to be late on that 99 (mph).''
The Padres extended their lead in the sixth when Trent Grisham's squeeze bunt scored Luke Voit.
Voit doubled to left leading off the inning and took third when Austin Nola followed with a single.
Flores' fourth homer came with one out in the eighth off reliever Robert Suarez.
The Giants' best scoring chance against Musgrove came in the sixth when they had runners at first and second with one out after Tommy La Stella doubled leading off and Mike Yastrzemski walked. Musgrove got Darin Ruf to ground into an inning-ending double play.
Rodon struck out six and walked one in six innings of five-hit ball.
Rodon labored through the first inning, walking consecutive batters to load the bases after Ruf's two-out fielding error at first base. He escaped by getting Austin Nola on a flyouy.
''Carlos was able to climb of the first nicely and bounce back,'' Giants manager Gabe Kapler said.
''Obviously it cost him a couple of pitches, that's part of the game, but I really appreciate when a starting pitcher picks up a defender who doesn't convert a ball into an out, so Carlos did a nice job picking up his teammate there,'' he said.
The Padres' eight-game winning streak in Musgrove's outings to start the season is the second longest in franchise history since they won Andy Hawkins' first 12 starts in 1985.
Joc Pederson was 2 for 2 with a double against Musgrove. He's 8 for 14 with seven extra-base hits including four home runs over his career against Musgrove.
Padres: Lefty-hitting 1B Eric Hosmer was out of the starting lineup against Giants lefty starter Rodon. Hosmer had been in the lineup every game since April 18.
Giants: C Curt Casali was placed on the seven-day concussion list. Newly acquired C Mike Papierski's contract was selected from Triple-A Sacramento, and he was in Saturday's starting lineup for his MLB debut. INF/OF Luke Williams was designated for assignment to make room for Papierski on the 40-man roster. . Brandon Belt was a late scratch from Saturday's lineup. He was originally in the lineup as a DH.
Padres: LHP MacKenzie Gore (2-1, 2.17 ERA) will make his first start since May 9. He pitched three scoreless innings of relief in his last outing Tuesday in Philadelphia.
Giants: LHP Alex Wood (3-2, 3.93) is 4-2 with a 2.93 ERA in 17 appearances, including 11 starts, against the Padres.
More AP MLB: https://apnews.com/hub/mlb and https://twitter.com/AP-Sports
Copyright 2022 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.