At the Phoenix Gold Golf and Country Club, Kapur aggregated 10-under 203 to stay two shots adrift of Prom (66), who moved all alone into the lead at 12-under 201.
In the distant third place was Gaganjeet Bhullar (69) alongside Poom Saksansin (68) at six-under 207. Khalin Joshi (71) was Tied-ninth at 4-under, while Jyoti Randhawa (72) was T-38.
Kapur carded a birdie at the 18th to keep things interesting going into Sunday. The Delhi golfer, who was playing with Prom in the same group, kept within sight of the leader with pivotal birdies at the 12th in addition to the one at the last hole.
Kapur said, "I played great today. He (Prom) didn't make many mistakes. He left the door opened once or twice, but I didn't capitalise on it. Every time I made a birdie, he seemed to make a birdie as well. He played a solid back nine and he seemed to pull away a bit.
More From This Section
"I told my caddie at the 18th tee, if I can birdie the last and close the gap to two shots, that can give me a better chance for a win. It's a big difference between being two shots back and three shots back. The birdie on 12th was the turning point of my round today. If I missed and he made the birdie, as it would widen the gap.
"I've known Prom since the junior days and Ive played with him in the last 15 to 20 years. I have a lot of respect for his game. He's a fantastic player and he's not going to hand me the tournament.
"I'm going to have to go out and work hard for it. With a birdie at the last hole, I have a better chance. It'll be a fun battle if I can score some birdies on the front nine and put some pressure on him."
Prom said, "I was playing my own game and Shiv (Kapur) was playing his own game. We have known each other for a long time. Shiv was playing well and didn't make many mistakes. Even myself, I'm playing well too. I hope that it'll be good fun tomorrow.
"Especially this week, I'm hitting my irons pretty good. I was able to control the distance well. As I've mentioned, youve got to stay pin high at this course. The greens are typically soft on the front nine and hard at the back nine."
Bhullar had a rather dramatic round three. He made six birdies, but it was slightly negated by two bogeys and an uncharacteristic double bogey at the par-four ninth. After a magnificent start, the Indian golfer ground out his round towards the last few holes and signed for a 69.
The Royal Cup is a no cut event and it will be the final event on the 2017 Asian Tour schedule.