A new roof costs $5,000 to $10,500 on average for asphalt shingles, and a metal roof costs between $8,000 and $30,000. Roof installation costs depend on the roof size, materials selected, structural issues, and old roof removal.