Commis chef Austin Wilson attacked Charmaine Bode before staging a rooftop siege lasting several hours as police tried to arrest him.
Wilson carried out the attack just eight days after a sheriff followed the view of social workers that Wilson should not be jailed for an earlier attack.
On 16 June, Sheriff Michael Fletcher placed Wilson on probation for 12 months after he admitted kicking Miss Bode while she tried to call for help.
Perth Sheriff Court was told that Wilson lost his job at the Windlestrae Hotel - where he worked beside his on-off girlfriend - as a result of his arrest.
However, after walking free from court, Wilson confronted Miss Bode before assaulting her in Alexander Drive, Kinross, on 24 June.
He admitted grabbing her waist, dragging her off her feet, covering her mouth to muffle her cries for help, and throwing her to the ground before chasing her down the street.
Wilson admitted injuring the waitress by pushing her body, knocking her down and pinning her to the ground, before trying to seize her mobile phone.
He also admitted that on 24 and 25 June he hid in a loft space and refused to surrender to police, before smashing a skylight window and climbing onto the roof for several hours.
The court was told that Wilson was lining up a new job, which would help take him away from the broken relationship with Miss Bode.
But after hearing that Wilson had carried out his second attack on as he waited to go to his first anger management class, Sheriff Lindsay Foulis remanded him in custody.
He told Wilson he felt there was a "significant chance of reoffending" and deferred sentence upon him.