The fire broke out just before 4:00 a.m. on the 1000 block of Bally Bunion Drive.
Firefighters arrived to find the blaze showing on an upper floor that extended to the roof area.
Neighbors say the flames could be seen a few blocks away.
Crews placed the fire under control within an hour.
One townhouse was completely destroyed and other units suffered smoke and water damage.
Police say all residents were evacuated from the building.
One person reported slight burns to his hands and was treated on scene by Galloway Township EMS.
Officials say a lit cigarette caused a mattress to ignite which proceeded to engulf the building in flames.
The Red Cross and The Salvation Army responded to the scene to assist four residents.