Dan Haren did it all Thursday night against the San Francisco Giants, pitching seven effective innings and contributing a two-run double to lead the Miami Marlins to a 7-2 triumph in the opener of a four-game series.