How much does a new roof cost?
A new asphalt shingle roof on a typical single-family home generally runs $8,000–$20,000, with most homeowners around $12,000. Cost is driven mainly by square footage, pitch, the number of existing layers to tear off, and material choice — metal, tile and slate cost substantially more than asphalt.
Where the money goes
Typically the largest single line
More for multiple existing layers
Only discovered once the old roof is off
What changes the price
- Roof size, measured in squares (100 sq ft each)
- Pitch and complexity — steep roofs and many valleys cost more to work on safely
- Material: asphalt, metal, tile or slate
- Number of existing layers to remove
- Hidden decking damage found during tear-off
- Regional labour rates and post-storm demand surges
Repair or replace?
Repair makes sense for isolated damage on a roof with years of life left. Replace when the roof is near the end of its service life, leaks are appearing in multiple places, or shingles are widely curling and losing granules. Patching an old roof repeatedly usually costs more over a few years than replacing once.
Get a real quote
HomePro knows your home's equipment and history, so pros quote against the same facts — and you can compare them fairly.
Find a proRelated problems
Last reviewed August 8, 2026. These are typical US ranges for orientation, not quotes. Pricing varies significantly by region, home and contractor — always get written estimates before committing.
