The price to replace a flat roof starts at around $12 per square foot. Flat roofs are more costly than sloped roofs because of the required extra material, plus the difficulty walking on them.