The South African burst onto the scene two years ago as he won the Joburg Open, but made just two of 16 cuts between this event in 2016 and the Omega Dubai Desert Classic in February 2017.
He recorded his first top ten of the season at the Made In Denmark the week before and brought that form to Albatross Golf Resort, signing for a closing 69 to get to 13 under and beat Slattery by two shots.
"It's been a really torrid time through the last eight, nine months and I've really started doing the right things and slowly but surely the golf has got a little bit better," said Porteous.
"To get my second European Tour win under the belt just feels amazing.
"When you start playing on the European Tour you start to lose yourself, you lose how you got out here in the first place and to then find yourself again and do the things you do to normally get on the Tour is key.
"It's just one tournament at a time, one shot at a time and just make sure I do the right things and be professional in the way I do everything. I'm sure this evening's probably not going to be the most professional moment of my life but there's nothing wrong with having a bit of celebration."