It was the sixth-consecutive winning decision for Garcia, who ran his record to 9-6 on the campaign, and fifth win in June. He'll likely make one more outing this month for a chance at a six-win month.
The Mariners (50-25) increased their lead over Oakland in the American League West to six games. The A's lost to Texas in a close finish Tuesday.
Anaheim (36-38) fell 13.5 back with the loss to Seattle, a team they have lost to seven of the 11 times they've faced this year.
Seattle got on the board in first, scoring when Jeff Cirillo scored from third on an error by third baseman, Troy Glaus. Nevertheless, the game remained close through the fifth inning.
Angels' starter Aaron Sele allowed a solo homerun to Mike Cameron leading off the fifth, making it 2-0 Seattle.
But the Angels answered immediately, getting their first run off of Garcia in the bottom of the inning when Bengie Molina blasted a solo homer over the left field wall.
That's the last time the Angels would be within one.
Seattle greeted Sele in the sixth with a barrage of hits. First to step to the plate was Ichiro Suzuki, and the right-fielder took the first pitch he saw and laced a double to deep right field. Then Carlos Guillen stepped to the plate and smacked a first-pitch single up the middle, scoring Ichiro. Not done, Bret Boone came to the dish and again was first-pitch swinging, hammering a Sele offering high over the left field fence for his 21st homer of the season. That made it a 5-1 game, and the Angels still hadn't recorded an out.
Following a four-pitch walk to Edgar Martinez, the Angels went to the bullpen and brought in Scott Shields. Martinez scored later on a two-out single to center by Randy Winn to make it a five-run game. That run was credited to Sele, who fell to 3-6 on the year and saw his ERA climb to 7.01.
Anaheim clawed back into the game with two runs in the seventh and another in the ninth, but Jeff Nelson struck out Troy Glaus with the tying run on base and two outs in the ninth to seal the game and preserve the victory.
It was Nelson's sixth save of the season.
Ichiro's 2-4 day from the plate extended his hitting streak to 19 games. He was one of three Mariners, joining Cameron and Winn, to have a multiple hit day. Seattle had 10 hits on the day.
The Angels were led by the three hits of Molina and Tim Salmon, and finished with 12 on the night as a team.