How much does a new roof cost in Missouri?
Short answer: In the St. Louis area, a 30-year architectural shingle roof costs about $450-$750 per square (100 sq ft of roof), so most homes with 12-24 squares pay $5,400-$18,000. 3-tab shingles run $350-$550 per square. Low-pitch roofs land at the low end and steep roofs at the high end; clay, metal and slate are custom quotes.
Typical prices by roof size (30-year architectural)
12 squares (about 1,200 sq ft of roof): $5,400-$9,000. 18 squares (about 1,800 sq ft): $8,100-$13,500. 24 squares (about 2,400 sq ft): $10,800-$18,000.
Why pitch matters
Steeper roofs take more time, safety gear and care, so they cost more per square. We price low-pitch roofs (2/12-4/12) at the low end of the range, medium pitch (5/12-7/12) in the middle and steep roofs (8/12 and up) at the high end.
What can change your final price
Your free inspection sets the final number. Common reasons it moves:
- Roof decking that needs replacing once the old shingles are off
- More than one layer of old shingles to tear off
- Chimneys, skylights and walls that need new flashing
- Ventilation that needs to be added or corrected
Where these prices apply
These are our 2026 prices for roofing in the St. Louis area of Missouri. Roofing coming soon after IL license; in Illinois we offer siding, gutters, soffit and fascia.
Answered by Mike Williamson, RoofingnearmeSTL. Published October 20, 2026.
