Justin Smoak hit a three-run homer and Dustin Ackley had a three-run triple while the Mariners batted around in the ninth inning, roaring back from an early two-run deficit for their eighth straight victory on opening day.
Robinson Cano went 2 for 4 with a double and an intentional walk in the $240 million second baseman's debut for new Seattle manager Lloyd McClendon.
Mike Trout hit a two-run homer in the first inning and Albert Pujols had a run-scoring double for the Angels, who had won nine of 10 on opening day, including five straight.
Their evening got off to an ominous start when hitting coach Don Baylor broke his right leg while catching Vladimir Guerrero's ceremonial first pitch.
The former Rockies and Cubs manager will have surgery on his femur Tuesday. Baylor's leg bent awkwardly before he had to be helped to the dugout, leaving the Angels stunned as they took the field.
Hernandez (1-0) gave up four hits over six innings in his seventh opening day start for the Mariners, passing Randy Johnson for the club record.
He outdueled Jered Weaver (0-1), who yielded six hits and three walks in his club-record sixth start on opening day.
Mike Zunino had an RBI triple in the seventh to chase Weaver, and Almonte drove him home with a double off Angels newcomer Fernando Salas. Smoak connected in the ninth off Kevin Jepsen while the Mariners batted around.
After Cano grounded out to short in his first plate appearance, the longtime Yankees second baseman got his first Mariners hit on a 50-foot squib to third base in the fourth inning. He rapped a solid double to right in the ninth before Smoak's shot.
The Angels' top newcomers didn't impress for openers: David Freese went 0 for 4 with two strikeouts, and longtime Mariners slugger Raul Ibanez was 0 for 4 with three strikeouts.
Trout's new $144.5 million contract doesn't even begin until next season, but the brightest young talent in baseball wasted no time delivering. After Kole Calhoun's leadoff single, Trout put an emphatic drive over the left field fence against Hernandez.
Pujols' double boosted Los Angeles' lead to 3-1 in the third. The Mariners nearly tied it with a two-out rally in the sixth, but Calhoun swiftly fielded Kyle Seager's RBI double off the right field wall, and cutoff man Howie Kendrick threw out Logan Morrison at the plate.
But one inning later, Zunino put a one-out triple over Josh Hamilton's head in left, scoring Ackley.
NOTES: Morrison had three strikeouts and two walks in his Mariners debut. ... Weaver has started the last five consecutive opening days, while Hernandez has started six straight Mariners openers. ... Ibanez has spent the majority of his career in Seattle during three stints with the club. He had 29 homers and 65 RBIs for the Mariners last year.