Niall Curry's newly-promoted side were making their return to the refurbished Clandeboye Park, and certainly seemed to enjoy playing on familiar territory as they bossed the first half.
The breakthrough came shortly after the break, with Andy Mitchell firing past David Miskelly in the 51st minute.
William Faulkner made it 2-0 when he reacted quickest to a clever through-ball from Paul McDowell before steering his shot past the Ports' stopper.
Ronnie McFall's side were given a lifeline when Darren Murray scored from the spot after a foul by McDowell, but with just a minute left a handball in the penalty box by Gary Breen allowed Ards' skipper James Cully to score from the spot to make it 3-1.
The victory was only the third of the season for Ards, who remain below fellow premier league new-boys Warrenpoint on goal difference at the bottom of the league.
The 'Point missed out on the chance to go clear of their relegation rivals after they drew 1-1 with defending champions Cliftonville at Solitude.
Stephen McCabe missed a penalty for the visitors late in the first half, but Daniel Hughes made amends when he pounced on a defensive error before rounding Conor Devlin to make it 1-0.
Martin Murray spared the Reds' blushes when he netted a close-range header to secure a share of the spoils.
Cliftonville will feel they should have gotten more from the game, but the result means they remain just four points behind Linfield, who extended their lead at the top of the table despite only managing a goalless draw at home to Belfast rivals Crusaders.
The Crues ended the game with 10 men after Declan Caddell was shown a second yellow card for a crude tackle on Jamie Mulgrew.
Stephen Baxter's side almost stole it at the death, only for Jordan Owens to see his goal-bound header cleared off the line by Billy Joe Burns.
Elsewhere, Ballymena United ended a seven-game winless streak as they secured a 3-2 victory over Dungannon Swifts in a thriller at Stangmore Park.
It took just over a minute for the Sky Blues to find the net, with Swifts' goalie Gareth Buchanan unable to keep out Gary Liggett's shot.
Gary Thompson made it 2-0 with a close-range finish in the 26th minute, before Stefan Lavery added a goal for the hosts nine minutes later.
Ballymena's two-goal advantage was restored just before half-time when Allan Jenkins' fiercely-struck drive found the target, but Darren Boyce pulled one back six minutes into the second half when he converted from a Terry Fitzpatrick lay-off.
Dungannon were unable to find an equaliser though, as Ballymena hung on for only their fourth win of the campaign.
Finally in the game at the Coleraine Showgrounds, Glentoran made it three wins on the bounce with a 3-1 victory over Coleraine.
It was the Bannsiders who opened the scoring thanks to a Glentoran own goal - Kevin Bradley the unfortunate culprit as he chested Gareth Tommins' cross past Elliot Morris in the dying moments of the first half.
Jim O'Hanlon equalised for the visitors two minutes after the restart when he steered in a low shot from the edge of the six-yard box, and less than a minute later Mark Miskimmin outpaced the Coleraine backline to score at the second attempt, after 'keeper Wayne Drummond could only steer the initial shot back into the striker's path.
After Michael Hegarty had been shown a straight red for a two-footed lunge on Jordan Stewart, the Glens' youngster turned provider soon after when his shot was palmed into the path of John McGuigan who fired into the empty net to seal the victory.
Saturday's Danske Bank Premiership results:
Ards 3 - 1 Portadown
Ards: Mitchell (51), Faulkner (71), Cully pen (90)
Portadown: Murray pen (74)
Cliftonville 1 - 1 Warrenpoint Town
Cliftonville: Murray (85)
Warrenpoint: Hughes (77)
Coleraine 1-3 Glentoran
Coleraine: Bradley og (44)
Glentoran: O'Hanlon (47) Miskimmin (49)
Dungannon Swifts 2- 3 Ballymena United
Dungannon: Lavery (35) Boyce (51)
Ballymena: Liggett (2), Thompson (26) Jenkins (41)
Linfield 0 - 0 Crusaders