Crawford and Schierholtz homered to lead San Francisco to a 4-1 victory over the Los Angeles Dodgers.
"It's time for all of us to start swinging the bat better," manager Bruce Bochy said. "We've been struggling the past week. Today was better."
Crawford connected in the second inning, driving a 2-0 pitch from Nathan Eovaldi over the wall in right. Crawford also reached on an infield single in the fifth and scored on Angel Pagan's second double in as many days.
"For me, it's not about results right now," said Pagan, who is hitting .189 in 59 spring at-bats. "It's about how you feel. I'm feeling better at the right time. I just want to feel comfortable. You want to feel like your hands are going through the point where you want them to go.
"After studying video, I made some adjustments. My hands weren't going in the direction they have to. But now they are. That's the important thing. I'm seeing the ball better."
Eovaldi gave up two runs and three hits in five innings. He struck out none and walked two.
James Loney hit an RBI double in the sixth for Los Angeles.
Schierholtz belted a two-run shot to left in the eighth.
Yusmeiro Petit allowed four hits in five scoreless innings for San Francisco. The right-hander struck out four and walked one.
Petit pitched in Mexico and Venezuela last year before agreeing to a minor league deal in November. Petit, who has pitched for the Florida Marlins and Arizona Diamondbacks, has worked eight scoreless innings in two appearances this spring.
He was limited by shoulder problems when he was with the Marlins.
"I'm fine now," he said. "I've been working hard, very hard, for this opportunity. I got this chance because what I had been doing over on the minor league side. Today, I felt very good with a fastball, changeup, curve and some sliders."
Petit got into trouble when Loney hit a two-out triple to deep center in the first. But he bounced back by striking out Josh Fields to end the inning.
"He's got experience," Bochy said. "What I like is that he does the little things so well."