In-form Yorkshire captain Andrew Gale overshadowed Kevin Pietersen's comeback as Surrey's bowlers were made to work hard for wickets at Headingley.
The White Rose county - who lead the Division One table after defeating Middlesex at Lord's last time out - reached the close on 292-5 after being put in by their struggling opponents.
Gale was still unbeaten on stumps with 114, his third successive LV= County Championship century, having shared a crucial fourth-wicket stand worth 204 with Gary Ballance (90).
The efforts of the duo meant Pietersen, making his return to action after three months out with a troublesome knee injury as he looks to prove his fitness for the Ashes, was forced to spend the day in the field.
The England international sent down four overs of spin and also failed to take a tough chance, dropping Gale as he was running backwards from mid-on when the left-hander was still five runs short of his ton.
Under the guidance of Alec Stewart following the departures of management pair Chris Adams and Ian Salisbury at the start of the week, Surrey were dealt a blow before the toss when Ricky Ponting was ruled out with a sore hand.
Yorkshire's opening pair Adam Lyth (41) and Alex Lees (15) put on 62 for the first wicket before both fell in quick succession, while Tom Linley dismissed Joe Sayers for five to leave the score at 77-3.
However, Ballance - named in England's Twenty20 squad for the upcoming two-match series against New Zealand - came out to combine with Gale in a near-flawless partnership that turned the tide in the home team's favour.
Jon Lewis did hit back late in the day for Surrey, the veteran seamer trapping Ballance lbw 10 short of what would have been a deserved hundred.
The same bowler also had Adil Rashid held in the cordon for a single, though Gale stood firm and by stumps had faced 182 balls and hit 12 boundaries.