Home Repair Decoded

Roof Replacement Cost in Minnesota

$7,600 – $24,500We estimate roof replacement in Minnesota at $7,600 to $24,500 for asphalt shingles on a 2,000 square foot roof, with tear-off. The national estimate is $6,650 to $20,800. Minnesota roofer pay is 34% above the national median, ranking 3 of 51.
Part of the jobLowHigh
Parts and materials (our assumption)$4,000$10,000
Labor hours (our assumption)4090
Billed labor rate per hour$90$161
Estimated total$7,600$24,500

Our estimate, not a quote. Billed rate is the Minnesota median wage from BLS (2025, $35.81 an hour) times 2.5 to 4.5 to cover payroll costs, overhead, travel and profit. How we estimate

What other publishers report

National figures as published by each source, checked 2026-11-03. Their scope can differ from ours.
PublisherLowHighScope
Fixr$6,000$10,000Asphalt shingles, about 2,000 square feet of roofing. Page dated February 2026.
Bob Vila$7,400$10,5002,000 square foot house, shingles. Page dated April 2024.
Bob Vila$5,800$12,700Asphalt shingles installed. Page dated April 2024.
This Old House$7,071$23,4171,800 square foot house, all materials; $7,071 is asphalt. Page dated June 2026.

Cities in Minnesota

Metro areaMedian wageLowHigh
Minneapolis$36.25$7,600$24,700

Who can legally do this in Minnesota

Residential contractors who perform roofing work must be licensed as a residential roofer, building contractor or remodeler. Contractors with annual residential gross receipts under $15,000 are exempt, and roofing subcontractors must register rather than hold a license.

Compared with neighboring states

StateMedian wageLowHigh
Iowa$23.39$6,350$19,500
North Dakota$28.72$6,850$21,600
South Dakota$22.94$6,300$19,300
Wisconsin$28.54$6,850$21,600

Other roofer jobs in Minnesota

Roof Replacement cost in every state · Minnesota home repair guide

Sources

General information, not professional advice. Conditions, codes and prices vary. Turn off power, gas or water before any work, and hire a licensed professional when in doubt. Cost figures are our estimates, not quotes.