Zabriskie won the 182.3km stage from San Francisco to Santa Cruz in 4h26min10sec, to lead Rogers by 4 seconds in the overall classification.
Lance Armstrong finished 14th and was 12th overall, 27 seconds back.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
"The final climb was long and hard," said Zabriskie, who has twice finished second overall in the four previous races but never won a stage.
"We were just trying to hold off the chase group."
Three-time defending race champ Levi Leipheimer was third, also in the same time as the top two finishers. He's 6 seconds behind Zabriskie.
The top three finishers all began the third stage in a group of 20, trailing Australian Brett Lancaster by 10 seconds.
"I screwed up the finish," said Leipheimer, the third-place finisher in the 2007 Tour de France.
"I knew about the final corner, but Dave got the jump on us. I closed the gap to Mick (Rogers), but it was just too short to the finish to do anything."
Lancaster fell to 36th place overall after finishing 51st in the stage.
The fourth stage of the eight-day race will be a 195km road race Wednesday from San Jose to Modesto.
