At stumps, Punjab were on 230 for five in their first innings in reply to Railways 205.
Kaul ended the day just four runs short of a fine century while Amitoze Singh (55) and opener Jiwanjot Singh (44) also made useful contributions with their bat for Punjab.
Punjab, however, witnessed a shaky start to their innings as they lost their first three wickets -- Karan Goel, Mayank Sidhana and Mandeep Singh -- with the scoreboard reading 35.
But Kaul steadied Punjab's innings with two crucial partnerships. The wicket-keeper batsman first added 62 runs for the fourth wicket with Jiwanjot and then shared a 118-run fifth wicket stand with Amitoze to take Punjab past Railway's score.
Bipul Sharma was unbeaten on 10 along with Kaul at close.
For Railways, Krishnakant Upadhyay scalped two wickets for 50 runs.
Also Read
Earlier, Railways just added 12 runs to their overnight score of 193 for seven before being bowled out in just 4.5 overs.
Punjab fast bowlers ruled the roost as Sandeep Sharma (4/38) picked up four wickets, while Siddarth Kaul (3/66) and Manpreet Gony accounted for three and two wickets respectively.
Brief Scores:
Railways: 205 all out in 78.5 overs (Nitin Bhille 41, Krishnakant Upadhyay 38; Sandeep Sharma 4/38, Siddarth Kaul 3/66).
Punjab: 230 for five in 80 overs (Uday Kaul 96 batting, Amitoze Singh 55; Krishnakant Upadhyay 2/50).