Jonny Bairstow was off the field for the whole day with a bruised thumb, delaying a decision on whether he is substituted for the match, so Bess took over as acting skipper with 12th man Will Luxton fielding and Finlay Bean keeping.
Ingram and Kellaway started the day cautiously in the main, moving to half-centuries as they continued their rescue act after the early horrors.
But after the partnership reached three figures, it was Bess who made the breakthrough in his first over of the day as he bowled Kellaway for 52 off 101 balls with a beautifully flighted delivery that turned.
Just 70 runs came in the first session as Chris Cooke dug in alongside Ingram, and the wicket-keeper should have gone the ball before lunch when dropped at slip off Bess.
Cooke made a gritty 30 in a stand of 67 before Matthew Revis produced a gem of a delivery to jag back and take the off-stump.
South African veteran Ingram was content to accumulate stylishly in the brighter but still chilly conditions, but cover-drove his 13th four off Ben Coad to add to his six and reach three figures off 225 balls, only to edge the next delivery to Bean.
Timm van der Gugten and Mason Crane steered Glamorgan to a batting point but decided against a dash for a second, leaving Yorkshire frustrated with two bowling points despite the accurate probing of Bess.
Van der Gugten played on to Bess for 40, Andy Gorvin was brilliantly caught by a leaping Logan van Beek on the fine-leg boundary off George Hill, and Crane was caught in the deep off Bess for 51.
Seventeen overs were scheduled but Glamorgan sent down just 10 balls, including four from new Aussie recruit Ryan Hadley, before umpires Russell Warren and Nigel Llong took the players off in the gloom.