SAN FRANCISCO -- Barry Zito watched a 350-foot blast by Yadier Molina hook foul, and Molina saw a 15-foot bunt by Zito slip through his hands.
That's pretty much the long and short of the San Francisco Giants' 1-0 victory over the St. Louis Cardinals on a flag-raising Friday afternoon at AT&T Park.
Zito picked up right where he left off last season, shutting out the Cardinals on three hits over seven innings as the Giants (3-1) rewarded a sellout crowd with a victory in the 2013 home opener and a third consecutive win overall.
A day that began with the hoisting of the franchise's second World Series championship banner in three seasons in a stiff breeze in front of 41,581 mostly orange-clad fans ended in a sunshine that shined brightest on the day's starting pitchers, Zito and Cardinals rival Jake Westbrook.
Zito, who helped produce wins in his last 11 regular-season starts last year and all three of his postseason starts, made it 15 in a row, bridging the two seasons, by limiting the Cardinals (1-3) in the opener of a three-game series to first-, fourth- and seventh-inning singles before turning the ball over to the Giants bullpen.
Allen Craig had two of the three Cardinals hits.
"I approached this like a new challenge," noted Zito, who was last seen on a National League mound blanking St. Louis on six hits over 7 2/3 innings in a potential season-ending Game 5 of the National League Championship Series last fall. "It's hard to take anything from a game that was four or five months ago."
"That's quite a streak. Remarkable," Giants manager Bruce Bochy said of the 15-0 record in Zito's most recent outings. "He's doing a good job giving us a chance to win. We needed him to put up zeros today because we weren't swinging the bats very well."
The day's only run was the result of a bases-loaded walk to Angel Pagan -- a four-pitch sequence that immediately followed Molina's mishandling of Zito's sacrifice bunt with two on and one out in the bottom of the fourth.
Instead of having an open base with which to work in an effort to escape the jam, Westbrook had no margin for error when he couldn't throw a strike to Pagan. The only run of the game was unearned.
Zito's arm took it from there, although he got help from Jeremy Affeldt, who pitched a perfect eighth inning, and closer Sergio Romo, who recorded his third save by negotiating the heart of the Cardinals' order in the ninth.
If there were an anxious moment for Zito, it came in the top of the fourth when Molina belted a curve ball about one-third of the way up the left-field foul pole. It barely curled foul, even as Molina had convinced himself it had a chance to produce two Cardinals runs.
"When I hit it, I thought it was going to go foul, so I just stood there," the veteran catcher said. "But I kept watching it, hoping it would stay fair. I thought it had a chance. It was close."
Molina grounded Zito's next pitch straight to Pablo Sandoval to start a double play, one of four quality plays the big guy made at the hot corner.
"Pablo picked me up huge on a handful of plays," praised Zito, who struck out just four to offset three walks. "Third base is a key position when I pitch. Pablo was flashing the glove all day."
Westbrook, making his first start since being shut down early last September with a strained right oblique, was the hard-luck loser, surrendering only the one unearned run before leaving with two on and two outs in the bottom of the seventh.
Left-hander Randy Choate got Westbrook out of the mess by retiring Brandon Belt on a soft liner to third baseman Matt Carpenter, but it wasn't enough to prevent a third St. Louis loss in four games.
"Baseball is weird sometimes," Molina noted of the pitchers' duel after every game in the Cardinals' series against Arizona had at least seven runs scored.
The Cardinals were coming off a 10-9, extra-inning loss in the series finale.
"We know the Giants have good pitching," he continued. "It's going to be tough, but we have confidence. We know we have a good team. We know we can win two in a row (this weekend)."
Westbrook allowed only six hits, although they combined with six walks to run up a hefty pitch count (115) for a season debut.
Brandon Crawford, who went just 1-for-10 in the season-opening series against the Dodgers, had two of the Giants' six hits, both singles. One followed a Gregor Blanco one-out walk in the fourth, setting the stage for Zito's sacrifice bunt and, eventually, the game's only run.
For the second time in three years, the Cardinals had to watch as the Giants raised a championship flag in their presence. That didn't bother Molina.
"I've got a lot of good friends on the other side," he admitted. "But at the same time, this is a new season. Maybe it's our turn."
NOTES: Zito last season was 13-1 when getting at least four runs of offensive support, 2-7 when receiving less. ... No Giants starting pitcher has allowed a run yet this season through four games. ... The win was the Giants' 11th in their 14 home openers since AT&T Park was opened. ... There were no extra-base hits in the game. ... A half-hour pregame ceremony at AT&T Park culminated in the raising of the 2012 World Series championship banner behind the bleachers in right-center field. ... As opposed to two years ago, when the Cardinals also were the opponent in the Giants' home opener following a World Series title, the visiting team was allowed to warm up and return to the clubhouse rather than have to stand on the first-base line for the entire ceremony. ... The Cardinals (2011) and Giants (2010, 2012) not only have combined to win the last three World Series crowns, they also rank 1-2 all-time in the National League in championships won. The Cardinals have 11, the Giants seven. ... National League Championship Series MVP Scutaro and World Series MVP Sandoval each threw out a ceremonial first pitch. ... Following their season-opening series at Arizona that ended Wednesday, the Cardinals sent third baseman David Freese to their Triple-A affiliate in Memphis to begin a 20-day rehabilitation assignment. Freese suffered a lower-back strain during spring training.