Tim Foli's two-out homer in the home fifth broke a 1-1 tie and helped California take over first place in the West.
California's eighth victory in its last 11 games, in the opener of a three-game series, gave it a one-game lead over the Royals, who have lost five straight.
Geoff Zahn (17-8) scattered eight hits over eight innings to get the victory with Luis Sanchez pitching out of a ninth-inning jam for his third save. Larry Gura (17-11) was the loser for only the fourth time in 15 decisions against California.
The Angels took a 1-0 lead in the second. Don Baylor reached on a fielder's choice, took second when Grich was hit by a pitch and scored on Bob Boone's single.
The Royals tied in the fourth on Lee May's third homer this year, but Foli's third put the Angels back on top, 2-1. It was Foli's first homer in more than three months, his last coming May 25 in Boston.
The Angels got a run in the seventh on a walk to Grich, a sacrifice by Boone and an RBI double by Ron Jackson.
Kansas City threatened in the ninth when Hal McRae and Frank White hit back-to-back singles with none out. Sanchez came on and retired the next three batters in order, with John Wathan's fielder's choice grounder scoring McRae.