Greene drove in four runs with two homers to help the San Diego Padres shake a slump, and they spoiled Florida's home opener by winning 9-3 Tuesday.
The Padres, who scored a major league-low 19 runs in the first week of the season, snapped a four-game losing streak.
Greene hit a two-out solo homer in the second and a three-run shot in the sixth, giving him four homers this season and a share of the NL lead with four others, including St. Louis slugger Albert Pujols.
"I don't expect to be at the top at the end of the year," Greene said. "When I hit home runs, they tend to come in bunches. I've gone a long time without hitting any homers."
Greene, who grew up in Key West, Fla., has four of the Padres' six home runs after hitting 15 each of the past two seasons.
"He's got some pop," Padres manager Bruce Bochy said. "Khalil is going to be an offensive shortstop. He's going to supply some power."
"I knew they had to dig deep in the well to throw me out there," Williams joked.
The veteran right-hander retired 13 batters in a row, including a strikeout of Reggie Abercrombie on a knuckleball, a pitch Williams has been experimenting with. Three relievers shut out Florida the rest of the way to complete a six-hitter.
Sergio Mitre (1-1) gave up five runs in six innings for the Marlins, who started six rookies in their first home game since an offseason payroll purge. Five Marlins played in Miami for the first time: Mitre, Abercrombie, Hanley Ramirez, Dan Uggla and Mike Jacobs.
Florida fell to 1-5 with its fourth consecutive loss.
"We're going to have good days, and we're going to have bad days," Jacobs said. "It isn't anything any of us haven't experienced before in the minor leagues or up here."
The game drew a crowd of 31,308, a sharp decline from last year's attendance of 57,405 for the home opener.
"It was a good crowd," right fielder Jeremy Hermida said. "Hopefully we went out there and played hard and put on a good show, win or lose. Hopefully they keep coming out for us."
Florida fans were able to enjoy only a brief lead. The Marlins scored in the first when Ramirez led off with a triple and came home on Josh Willingham's two-out single.
Greene homered to make it 1-all.
"Getting off to a good start helps," he said. "Any time you do something in your first at-bat, it sets a tone."
"Their young shortstop has power," Marlins manager Joe Girardi said. "And we didn't pitch him the way we're supposed to."
Williams retired the side on three pitches in the fifth but failed to get another out. Ramirez became the Marlins' first baserunner since the first when he led off the sixth with a double. He went to third on a single by Hermida and scored on Miguel Cabrera's double.
Bad baserunning then hurt Florida: Cabrera was doubled off second when Jacobs lined out softly to shortstop. Willingham followed with an RBI single to make it 5-3.
San Diego scored an unearned run in the seventh when left fielder Willingham misplayed Piazza's double for an error, allowing Giles to score from first.
- Ramirez has a hit in every game.
- The new stadium scoreboard shows the pitch count for both pitchers, and the speed of each pitch.
- Roberts made a running catch of Cabrera's fly near the 434-foot sign in center.