Swankie was causing problems for the Peterhead defence, with another shot saved and one more going wide of the goal in the opening 10 minutes. Michael Travis's header was saved a few minutes later by Peterhead goalkeeper Graeme Smith.
Half-time Forfar substitute Danny Denholm nearly made an immediate impact but his shot was saved 30 seconds after the restart. He then missed the target a minute later.
Forfar's task was made harder in the 68th minute when 35-year-old Stuart Malcolm was sent off for violent conduct.
Gary McDonald tried to capitalise on the red card with 10 minutes remaining, but his shot went over the crossbar.
Denholm grabbed an equaliser for Forfar, heading into the bottom-right corner to steal a point for his team.
McDonald scored a late winner from close range to give Peterhead the three points.
Peterhead are now seven points behind the playoff places, with Forfar missing the chance to go level with top-of-the-table Greenock Morton.