For all the promises and early evidence that Seattle won't be the same offensively inept team as a year ago, the Mariners' home debut Friday night looked very much like the past with a whole lot of zeros on the scoreboard.

Facing the Mariners for the third time this season, Bartolo Colon gave up only three hits in seven innings and the Oakland Athletics ruined Seattle's home opener with a 4-0 win.

Colon outshined Seattle starter Felix Hernandez. The Mariners juggled their rotation so he would get the start back home in front of his own cheering section — the King's Court.

While Hernandez was wiggling out of trouble most of the night, Colon was shutting down Seattle the same way he did during the season-opening series in Tokyo, where Colon threw an eight-inning gem, giving up just one run.

Seattle had no answers when Colon (2-1) relied more on his off-speed pitches early before going back to his fastball late. Dustin Ackley had a first-inning single, Ichiro Suuzki and Jesus Montero had hits in the fourth inning and that was it for offense from the Mariners, who banged out 10 hits and scored seven runs off Colon last Saturday.

"We got more pitches we could handle last time," Seattle's Kyle Seager said. "We were just as aggressive tonight as last time, he just didn't give us any good pitches to hit."

Colon retired his final 10 batters after Seattle's one threat in the fourth. Suzuki led off with a single and advanced to third on Montero's two-out hit, only to be stranded when Michael Saunders struck out looking. Before striking out, Saunders just missed a three-run homer that hooked barely foul down the right-field line.

It was that kind of night for Seattle.

Colon retired the side in order in the fifth and sixth, then got a break leading off the seventh. Seager lined the first pitch into center field. Yoenis Cespedes took a direct path to the ball and made a great diving catch. But on slow-motion television replay, it appeared that Cespedes trapped the sinking liner.

Then in the eighth, with Seattle down 3-0, Oakland reliever Ryan Cook walked the first two batters to bring up Chone Figgins. Instead of bunting to move both runners into scoring position, manager Eric Wedge let Figgins swing away in trying for a big inning. Figgins grounded into a double play to quell the threat.

"We still have to do more than that. We're not looking just to get back in it when we've only got a few outs left in the game," Wedge said. "You've got to create an inning in that situation."

After showing some signs of offensive progress during their long opening road trip that stretched from Arizona to Japan and California to Texas, the Mariners have scored just seven runs in the last 43 innings.

The lack of runs made Hernandez's few stumbles more glaring. Hernandez (1-1) gave up just two runs in seven innings but got no help from Seattle's offense. It was the first loss for Hernandez against Oakland since September 18, 2008. He had won his previous six decisions against the A's.

Oakland's rally in the fourth started with a broken-bat single by Daric Barton that bounded into right field. He advanced to second on a weak groundout and then jogged home on Cliff Pennington's one-hop double off the wall in deep right-center.

Pennington scored when Coco Crisp singled to left. Figgins bobbled the ball and that allowed Pennington to score when it appeared he was stopping at third. Figgins was not charged with an error.

Oakland added a run in the eighth off Seattle's bullpen on Kurt Suzuki's sacrifice fly. Jemile Weeks hit his second homer of the season in the ninth off Charlie Furbush.

"There weren't issues. It was a couple of mistakes. I got behind in the count and threw a fastball right in the middle of the plate and got hurt," Hernandez said. "When you get behind, you're going to come with your fastball and they are going to hit it."

Colon improved to 10-1 with a 1.91 ERA at Safeco Field and won his 16th game against Seattle, the most of any active pitcher in baseball. He struck out five and walked one.

NOTES: Former Seattle CF Mike Cameron threw out the ceremonial first pitch and announced before the game he was retiring as a Mariner. Cameron played for Seattle from 2000-03 and signed a ceremonial one-day contract Friday so he could retire with the Mariners. ... Colon and Hernandez became the first pitchers since Kevin Brown in 2004 to start the season with three starts against the same team. ... Seattle announced a sellout of more than 46,000 for the opener but empty seats were noticeable in the outfield bleachers and in the 300 level above right field.