A new roof in Minnesota typically costs about $11,700 to $18,700 for 2,000 sq ft of roof in architectural asphalt shingles, or roughly $5.85 to $9.35 per sq ft installed, by our 2026 estimate. That figure starts from our national baseline of $5 to $8 per sq ft and adjusts it for one hard number: Minnesota roofers earn a median $35.81 an hour, 34% more than the U.S. median, per BLS OEWS May 2025. The rest of a Minnesota quote is driven by rules that are specific to the state: an ice barrier that the Minnesota Residential Code requires statewide, full tear-off to the deck, a residential roofer license with a $15,000 bond, and one of the heaviest hail-claim records in the country.
This page is the Minnesota-specific breakdown. For national ranges by material and size, start with our roof replacement cost guide. To see how big metros compare nationally, use roof replacement cost by metro.
By The Roofing Brief Team. Last reviewed: October 2026.
Key numbers at a glance
These are the Minnesota figures most homeowners come looking for, each tied to a named, checkable source. They are typical ranges, not quotes: roof area, pitch, layers to remove, decking condition and material decide where a specific house lands. Code and statute references apply statewide unless a city is named.
| Measure | Minnesota figure | Source |
|---|---|---|
| Architectural asphalt, 2,000 sq ft of roof | About $11,700 to $18,700 ($5.85 to $9.35 per sq ft installed) | Roofing Brief estimate: national baseline adjusted for Minnesota labor (arithmetic below) |
| Minnesota average roof replacement (smaller average roof) | $8,737; range $6,747 (asphalt) to $21,517 (slate) | This Old House, Minnesota cost page, updated June 17, 2026 (RSMeans data) |
| Minneapolis average roof replacement | $9,988; most pay $6,316 to $13,812 | Angi, Minneapolis roof replacement cost guide, accessed October 2026 |
| Large standardized tear-off job (30 squares, two skylights), Minneapolis | $31,900 asphalt; $53,227 standing-seam metal | Zonda, Cost vs Value 2025, Minneapolis city report |
| Roofer median hourly wage, Minnesota vs U.S. | $35.81 vs $26.65 (34.4% higher) | BLS OEWS, May 2025, SOC 47-2181 |
| Ice barrier underlayment required by code | Yes, statewide | Minnesota Rules 1309.0301, amended IRC Table R301.2(1) |
| Hail reports of 1 inch or larger, Minnesota, 2016 to 2025 | 3,021 reports; 8th among states; 68% fell in June to August | NOAA NCEI Storm Events Database, Roofing Brief tabulation |
| Residential roofer license bond | At least $15,000 | Minn. Stat. 326B.86, subd. 1 |
How much does a new roof cost in Minnesota?
A new asphalt shingle roof in Minnesota usually costs $5.85 to $9.35 per sq ft installed by our estimate, which puts a typical 1,500 sq ft one-story house (about 1,850 sq ft of roof) near $10,800 to $17,300. Published Minnesota averages sit lower because they describe smaller roofs or cheaper shingles, while the standardized Cost vs Value job sits higher because it prices a large, complex roof with skylights.
Those published numbers measure different things, so they are not in conflict. This Old House’s $8,737 Minnesota average is built from RSMeans unit costs for an average roof, and its asphalt rate is $5.24 per sq ft. Angi’s Minneapolis average of $9,988 reflects what its users reported paying. The Cost vs Value 2025 Minneapolis figure of $31,900 prices a 3,000 sq ft (30-square) tear-off with a 5-square hip section, custom flashing at two skylights and a vented ridge, which works out to $10.63 per sq ft.
What each published Minnesota figure measures
| Source | Figure | Per sq ft | What it describes | Source detail |
|---|---|---|---|---|
| This Old House | $8,737 average; asphalt $6,747 average total | $5.24 asphalt | Statewide average from RSMeans unit costs on a modeled roof | thisoldhouse.com, updated June 17, 2026 |
| Angi (Minneapolis) | $9,988 average; $6,316 to $13,812 typical | Not stated | User-reported project costs in the Minneapolis area | angi.com Minneapolis guide, accessed October 2026 |
| Cost vs Value 2025 (Minneapolis) | $31,900 asphalt; $53,227 metal | $10.63 asphalt; $17.74 metal | One fixed, large, complex scope priced for the metro, with full contractor markup | Zonda, Cost vs Value 2025 |
| Cost vs Value 2025 (West North Central region) | $30,693 asphalt; $50,520 metal | $10.23 asphalt | Same scope, regional average | Zonda, Cost vs Value 2025 |
| The Roofing Brief 2026 estimate | $11,700 to $18,700 per 2,000 sq ft of roof | $5.85 to $9.35 architectural asphalt | National baseline scaled by Minnesota’s roofer wage premium | Our cost report baseline and BLS OEWS May 2025 |
The practical takeaway: compare a Minnesota quote per square (100 sq ft of roof), not as a lump sum. A bid that lands far outside $585 to $935 per square for architectural shingles should come with a line-item reason, such as multiple layers, steep pitch or rotted decking.
Why Minnesota roofing labor costs more than the U.S. average
Minnesota roofers are among the better-paid in the country. BLS OEWS data for May 2025 put the Minnesota roofer median at $35.81 an hour and the mean at $35.06, against U.S. figures of $26.65 and $27.95. That is a 34.4% premium at the median and 25.4% at the mean. Labor is the largest single line in a reroof, so this gap is the main legitimate reason a Minnesota roof costs more than the national baseline.
We turn that wage gap into a price adjustment with simple, visible arithmetic. Labor’s share of an installed roof price varies by job and is not published as a single official figure, so the table below shows three assumptions. We use the middle one (labor at half of the installed price) for the estimates on this page, and we label every resulting figure a Roofing Brief estimate.
| Assumed labor share of installed price | Calculation | Minnesota price multiplier | Architectural asphalt per sq ft ($5 to $8 national) |
|---|---|---|---|
| 40% | 1 + 0.40 x 0.344 | 1.14 | $5.69 to $9.10 |
| 50% (used on this page) | 1 + 0.50 x 0.344 | 1.17 | $5.86 to $9.37 |
| 60% | 1 + 0.60 x 0.344 | 1.21 | $6.03 to $9.65 |
Wage premium source: BLS OEWS May 2025, SOC 47-2181, Minnesota median $35.81 vs U.S. median $26.65. National baseline: The Roofing Brief 2026 roofing cost report. For every state’s wage, see our roofer salary by state table.
Roofer wages by Minnesota metro
Wages are not uniform across the state. The BLS metro tables show St. Cloud and the Twin Cities paying well above the U.S. median, while Mankato sits below it. Employment counts in the smaller metros are low, so treat those medians as indicative rather than precise.
| Metro area (BLS definition) | Roofers employed | Median hourly wage | Vs U.S. median ($26.65) | Our contractor page |
|---|---|---|---|---|
| Minneapolis-St. Paul-Bloomington, MN-WI | 1,250 | $36.25 | +36% | Best roofers in Minneapolis |
| St. Cloud, MN | 130 | $38.10 | +43% | Best roofers in St. Cloud |
| Duluth, MN-WI | 240 | $35.03 | +31% | Best roofers in Duluth |
| Rochester, MN | 90 | $29.78 | +12% | Best roofers in Rochester |
| Fargo, ND-MN (includes Moorhead) | 130 | $29.62 | +11% | Best roofers in Fargo-Moorhead |
| Mankato, MN | 40 | $24.16 | −9% | No page yet |
| Minnesota statewide | 1,890 | $35.81 | +34% |
Source: BLS OEWS May 2025, metropolitan and state estimates for roofers (SOC 47-2181), retrieved through the BLS public data API in October 2026. For homes near the borders, our contractor pages for Sioux Falls and La Crosse also cover Minnesota addresses in those metros.
Minnesota roof cost by material
Architectural asphalt is the default Minnesota reroof, at roughly $5.85 to $9.35 per sq ft by our estimate. Class 4 impact-resistant shingles run about $9.35 to $15.25, and standing-seam metal about $11.70 to $21.10. Every row below applies the same 1.17 Minnesota labor multiplier to our national installed baseline, with This Old House’s RSMeans-based Minnesota figures shown as an independent cross-check.
| Material | National installed, per sq ft | Minnesota estimate, per sq ft | Minnesota estimate, 2,000 sq ft of roof | This Old House Minnesota rate |
|---|---|---|---|---|
| 3-tab asphalt | $4 to $6 | $4.70 to $7.05 | $9,400 to $14,100 | $5.24 (asphalt, all types) |
| Architectural asphalt | $5 to $8 | $5.85 to $9.35 | $11,700 to $18,700 | $5.24 (asphalt, all types) |
| Premium designer asphalt | $8 to $12 | $9.35 to $14.05 | $18,700 to $28,100 | Not listed |
| Class 4 impact-resistant asphalt (UL 2218) | $8 to $13 | $9.35 to $15.25 | $18,700 to $30,500 | Not listed |
| Exposed-fastener metal panels | $6 to $10 | $7.05 to $11.70 | $14,100 to $23,400 | $10.29 (metal, all types) |
| Standing-seam metal | $10 to $18 | $11.70 to $21.10 | $23,400 to $42,200 | $10.29 (metal, all types) |
| Cedar shake | $10 to $18 | $11.70 to $21.10 | $23,400 to $42,200 | $12.73 (wood) |
| Synthetic slate or shake | $12 to $20 | $14.05 to $23.45 | $28,100 to $46,900 | Not listed |
| Natural slate | $15 to $30 | $17.60 to $35.15 | $35,200 to $70,300 | $16.72 |
Sources: national ranges from our 2026 roofing cost report; Minnesota multiplier from BLS OEWS May 2025 (labor share assumed at 50%); cross-check rates from This Old House, Minnesota, updated June 17, 2026. The multiplier likely overstates the premium on material-heavy roofs such as slate, where labor is a smaller share. For metal-specific pricing, see our metal roof cost guide; Angi’s Minneapolis metal guide reports an average of $19,983 and a typical $10,194 to $32,568.
Minnesota roof cost by house size: worked examples
Floor area is not roof area, which is why per-house quotes vary so widely. A one-story house has a bigger roof than a two-story house with the same floor area. The table converts common Minnesota house sizes into roof area at a 6/12 pitch with modest overhangs, then prices architectural asphalt at our Minnesota rate of $5.85 to $9.35 per sq ft.
| House | Footprint | Roof area (footprint x 1.10 overhang x 1.118 pitch) | Squares | Minnesota architectural asphalt | Same roof at national $5 to $8 |
|---|---|---|---|---|---|
| 1,200 sq ft one-story rambler | 1,200 sq ft | 1,476 sq ft | 14.8 | $8,600 to $13,800 | $7,400 to $11,800 |
| 1,500 sq ft one-story | 1,500 sq ft | 1,845 sq ft | 18.4 | $10,800 to $17,300 | $9,200 to $14,800 |
| 2,000 sq ft two-story | 1,000 sq ft | 1,230 sq ft | 12.3 | $7,200 to $11,500 | $6,100 to $9,800 |
| 2,200 sq ft one-story | 2,200 sq ft | 2,706 sq ft | 27.1 | $15,900 to $25,400 | $13,500 to $21,600 |
| 3,000 sq ft two-story | 1,500 sq ft | 1,845 sq ft | 18.4 | $10,800 to $17,300 | $9,200 to $14,800 |
Roofing Brief estimate. The 1.118 factor is the slope length of a 6/12 roof per foot of run; steeper roofs grow faster (a 12/12 roof is 1.414). Attached garages, dormers and porches add area that this simple model leaves out, so measure your own roof or ask for the contractor’s square count. Our size guides for 1,000, 2,000 and 3,000 sq ft roofs go deeper on pitch and stories.
Minnesota’s code rules that add cost: ice barrier, tear-off and snow load
Minnesota builds roofs to the 2018 International Residential Code as amended by Minnesota Rules chapter 1309, and three of those rules shape every reroof bid. An ice barrier is required statewide, a roof replacement means tearing off to the deck, and roof framing is designed for 50 or 60 pounds per square foot of ground snow depending on the county. The Department of Labor and Industry has begun rulemaking toward the 2024 IRC, but as of October 2026 the adopted edition is still 2018.
The statewide ice barrier rule
Minnesota’s amended Table R301.2(1) answers “Yes” under “Ice barrier underlayment required,” so the requirement in IRC R905.1.2 applies across the state rather than county by county. That section requires an ice barrier of two cemented underlayment layers or a self-adhering polymer-modified bitumen sheet that extends “from the lowest edges of all roof surfaces to a point not less than 24 inches (610 mm) inside the exterior wall line of the building.” Our ice dam protection membrane code guide covers the product side.
The cost detail most quotes skip: on a typical Minnesota eave, one 36-inch roll is often not enough to reach 24 inches inside the wall. The worked example below uses a 30 x 50 ft one-story gable house with 18-inch overhangs and a 6/12 pitch.
| Step | Calculation | Result |
|---|---|---|
| Horizontal distance to cover | 18 in overhang + 24 in inside the wall | 42 in (3.5 ft) |
| Same distance measured up the 6/12 slope | 3.5 ft x 1.118 | 3.91 ft |
| Coverage of one 36-inch course | 3 ft up the slope | Short by about 0.9 ft, so two courses are needed |
| Eave length (two eaves, including rake overhangs) | 2 x (50 + 3) ft | 106 ft |
| Membrane area at two courses (6 ft) | 106 ft x 6 ft | 636 sq ft, about 3.2 rolls of 200 sq ft |
| Material cost for 4 rolls | 4 x $80.52 (GAF WeatherWatch) to 4 x $199.00 (Grace Ice & Water Shield) | About $322 to $796, before labor and valleys |
Roll prices are dated retail listings (Lowe’s, checked October 2026) and change often. Valleys, low-slope sections and skylight surrounds add more membrane, and some installers and shingle makers call for wider coverage than the code minimum. A Minnesota bid that lists “ice and water shield” without saying how far it runs leaves room for a single course that may not meet R905.1.2.
Tear-off to the deck and the two-layer limit
IRC R908.3, as adopted in Minnesota, says “Roof replacement shall include the removal of existing layers of roof coverings down to the roof deck,” with an exception that lets an existing adhered ice barrier stay if a new layer of ice barrier goes over it. A roof-over (recover) is a separate path under R908.3.1, and R908.3.1.1 bans it where the existing roof is water soaked or deteriorated, is slate or tile, or already has “two or more applications of any type of roof covering.”
The cost effect is that a full Minnesota replacement always carries tear-off, disposal and an exposed deck. Rotted sheathing found after tear-off is billed on top; our working figure for decking is $2 to $5 per sq ft installed (HomeGuide), and our roof decking replacement cost guide breaks it down. Minnesota also amends R905.2.1 so asphalt shingles go on “solidly sheathed decks or 1-inch thick nominal wood boards,” which matters on older homes with spaced board decks under a former wood roof.
Snow load and heavy roofing
Minnesota Rules 1303.1700 sets the design ground snow load at 60 pounds per square foot in 29 northern and central counties, including St. Louis, Crow Wing, Otter Tail and Polk, and 50 pounds per square foot everywhere else. A like-for-like asphalt reroof rarely touches the framing. Switching to a much heavier covering, such as natural slate or concrete tile, can prompt the building official to ask whether the framing carries the new dead load plus snow, which can add engineering cost. For winter upkeep, see our roof snow removal cost guide.
What changes the price of a roof in Minnesota
The biggest Minnesota-specific price drivers are labor (34% above the U.S. median), the statewide ice barrier, mandatory tear-off, and hail-driven demand after storm seasons. Permit fees and the state surcharge are real but small. The table maps each driver to its effect on a quote and the primary source behind it.

| Driver | Effect on a Minnesota quote | Source |
|---|---|---|
| Roofer wages | Pushes installed prices roughly 14% to 21% above national levels, depending on labor share | BLS OEWS May 2025 |
| Statewide ice barrier | Self-adhered membrane at every eave, often two courses wide; a few hundred dollars of material on a small house, more with valleys | Minn. R. 1309.0301; IRC 2018 R905.1.2 |
| Tear-off to deck | Removal, disposal and deck exposure on every replacement | IRC 2018 R908.3 |
| Existing layers | Two or more layers rule out a roof-over; each extra layer adds tear-off labor and disposal weight | IRC 2018 R908.3.1.1 |
| Deck repair | Billed per sheet or per sq ft after tear-off | HomeGuide decking range ($2 to $5 per sq ft) |
| Hail seasons | Post-storm demand and insurance-scope jobs; June to August holds 68% of large-hail reports | NOAA Storm Events, 2016 to 2025 |
| Permit fee and state surcharge | Usually a few hundred dollars; surcharge is 0.0005 x job value | City fee schedules; Minn. Stat. 326B.148 |
| License, bond and insurance costs | Built into overhead; licensed roofers carry a $15,000 bond and liability cover | Minn. Stat. 326B.86 |
| Material upgrade | Class 4, designer shingles or metal move the per-sq-ft range more than any code rule | Roofing Brief 2026 cost report |
Minnesota roofing permits and the state surcharge
Minnesota Rules 1300.0120, subpart 4, lists the building work that is exempt from permits, and reroofing is not on that list. In cities and counties that enforce the State Building Code, plan on a reroof permit, pulled by a licensed contractor. Fees are set locally, and Minn. Stat. 326B.148 adds a state surcharge of 0.0005 times the job value (for jobs valued at $1,000,000 or less).
| Item | Minneapolis example, $15,000 reroof | Duluth example | Source |
|---|---|---|---|
| Base permit fee | $104.20 for the first $2,000 + $20.60 x 13 = $372.00 | $201.00 listed for a residential reroof maintenance permit | Minneapolis Building Permit Fee Schedule and Worksheet; Duluth CSI permit fees page |
| Plan review | $0 (no plan review fee for simple permits such as roofing) | Not required for residential reroofing | Same city documents |
| State surcharge | $15,000 x 0.0005 = $7.50 | Added per Minn. Stat. 326B.148 | Minn. Stat. 326B.148, subd. 1 |
| Total | About $379.50 | About $201 plus surcharge | Roofing Brief arithmetic |
Fee schedules change by council action, so confirm the current figure with your city before you budget. Cities may also add up to $5 per permit for license verification under Minn. Stat. 326B.815, subd. 2, and must not issue the permit unless the required license is in place. Compare other cities in our roof permit cost by metro table.
Minnesota roofer licensing: what a license does and does not cover
Anyone who contracts with a Minnesota homeowner to do roofing must hold a Department of Labor and Industry license as a residential roofer, residential building contractor or residential remodeler (Minn. Stat. 326B.805). A roofer-only license costs $180 per DLI, requires a $15,000 bond, and covers roofing only. It also comes with a gap many homeowners do not know about: the state’s Contractor Recovery Fund does not cover roofer-only licensees.
| Rule | What it says | Why it matters to your cost | Source |
|---|---|---|---|
| Who must be licensed | A residential roofer must be licensed as a roofer, building contractor or remodeler | Unlicensed bids may be cheaper but cannot legally pull the permit | Minn. Stat. 326B.805, subd. 1 |
| Scope of a roofer license | Roofing only; a roofer licensee cannot contract for gutters, downspouts, soffit or fascia | Bundled roof plus gutter jobs need a contractor or remodeler license | DLI residential contractor FAQ |
| Bond | Licensed residential roofers post a bond of at least $15,000 | The bond is the main financial backstop on a roofer-only job | Minn. Stat. 326B.86, subd. 1(b) |
| Liability insurance | At least $100,000 per occurrence and $300,000 aggregate bodily injury, $25,000 property damage, or a $300,000 single limit | Ask for the certificate before work starts | Minn. Stat. 326B.86, subd. 2 |
| Recovery Fund | Residential roofers are subject to all licensing rules “except the recovery fund in section 326B.89” | Fund payouts (up to $100,000 per owner, per licensee) apply to contractor and remodeler licensees, not roofer-only licensees | Minn. Stat. 326B.81 and 326B.89, subd. 5 |
| Subcontractors | Roofing subcontractors do not need a license but must register with DLI | Your contract should be with the licensee, not the sub | DLI, who needs a roofer license |
Check any bidder on DLI’s online license lookup before you sign. Our roofing contractor red flags checklist covers the rest of the vetting.
Hail, insurance and Minnesota’s roofing contract laws
Hail is the reason so many Minnesota roofs are replaced through insurance. NOAA’s Storm Events Database holds 3,021 Minnesota reports of hail 1 inch or larger from 2016 to 2025, eighth among the states, and 355 of them were 2 inches or larger. The National Insurance Crime Bureau ranked Minnesota fourth for hail loss claims from 2017 to 2019, with 150,673 claims.
| Year | Hail reports 1 inch or larger, Minnesota |
|---|---|
| 2016 | 245 |
| 2017 | 332 |
| 2018 | 198 |
| 2019 | 290 |
| 2020 | 321 |
| 2021 | 201 |
| 2022 | 581 |
| 2023 | 358 |
| 2024 | 290 |
| 2025 | 205 |
| Total | 3,021 |
Source: NOAA NCEI Storm Events Database detail files, event type Hail, magnitude 1.0 inch or more, deduplicated by event ID; Roofing Brief tabulation. Report counts depend on population and spotter coverage, so they track observed storms, not every hailstone. July (854 reports) and June (706) are the peak months. Our hail damage claims by state page compares Minnesota with its neighbors.
Three Minnesota laws that apply to insurance-paid roofs
Minnesota has specific statutes for roofs paid from an insurance claim. They limit what a contractor can promise, give the homeowner a cancellation right, and set what replacement cost coverage must pay for.
| Statute | What it says | What it means for your roof |
|---|---|---|
| Minn. Stat. 325E.66, subd. 1 | A residential contractor, including a residential roofer, may not advertise or promise to pay all or part of an insurance deductible, must give a good faith itemized estimate with any repair authorization, and may not interpret policy coverage or adjust the claim without a public adjuster license | “We’ll cover your deductible” is a red flag in Minnesota, and the insurer is not obliged to consider an estimate from a contractor who breaks this rule |
| Minn. Stat. 326B.811 | For an insurance-funded roofing contract, the homeowner may cancel within 72 hours after being notified that the claim was denied; payments must be returned within ten days, less any emergency services | Signing before the adjuster visits does not lock you in if the claim is denied |
| Minn. Stat. 65A.10, subd. 1 | Where an insurer offers replacement cost coverage, it must cover repairing or replacing “in accordance with the minimum code as required by state or local authorities”; for a partial loss, coverage applies only to the damaged portion unless the policy says more | On a replacement cost policy, code items such as the ice barrier and tear-off are part of the covered cost, subject to policy limits |
Many insurers now settle older roofs on an actual cash value basis through a roof-surfacing endorsement (the ISO form is HO 04 93, Actual Cash Value Loss Settlement Windstorm or Hail Losses to Roof Surfacing). Read your declarations page before a storm, not after. Our deductible fraud report covers the deductible rules in other states, and the impact-resistant shingle discount by state page covers premium credits; any Minnesota credit is set by your insurer, so get it in writing.
Programs that can help pay for a Minnesota roof
Minnesota Housing runs two programs that can finance a roof. Fix Up loans range from $2,000 to $75,000 with fixed rates and terms up to 20 years, and roofs are a listed eligible project. The Rehabilitation Loan Program lends up to $37,500 to low-income owners, forgiven if the owner stays for the loan term. Federal 25C and 25D homeowner tax credits ended for 2026 work under Public Law 119-21.
| Program | Amount and terms | Income limit (loans locked on or after July 1, 2026) | Source |
|---|---|---|---|
| Fix Up loan (Minnesota Housing) | $2,000 to $75,000; terms 1 to 20 years; fixed rate; secured and unsecured options; through participating lenders | $196,600 in the 11-county Twin Cities area and in Dodge and Olmsted counties; $177,800 in all other counties | mnhousing.gov, Fix Up and income limits pages |
| Rehabilitation Loan Program (Minnesota Housing) | Up to $37,500; forgiven if you do not sell, transfer or move out during the term (up to 15 years for real property); assets must not exceed $25,000; roof repair or replacement is eligible | 1 person $27,700; 2 people $31,600; 4 people $39,500 | mnhousing.gov, Rehabilitation Loan Program |
| Federal 25C and 25D credits | Ended for property placed in service or installed after December 31, 2025 | Not applicable | Public Law 119-21; IRS FS-2025-05 |
Rates and limits change, and your participating lender decides project eligibility. Check current terms with Minnesota Housing and a tax professional before you count on any program.
Which roof should you pick in Minnesota?
For most Minnesota homes, architectural asphalt with a code-compliant ice barrier is the value choice. Class 4 shingles earn their premium mainly where hail claims are frequent and your insurer gives a written credit. Metal suits owners staying long term who want snow to shed. The decision table maps common Minnesota situations to a starting recommendation.

| If your situation is | Then consider | Why |
|---|---|---|
| Budget-driven reroof, staying under 10 years | Architectural asphalt, two-course ice barrier at eaves | Lowest cost per sq ft that meets code; resale buyers expect it |
| Metro or southern Minnesota home with a recent hail claim history | Class 4 (UL 2218) shingles, after getting your insurer’s discount in writing | Premium of roughly $3.50 to $6 per sq ft by our estimate; the payback depends on the credit and future claims |
| Northern county home with heavy snow and long ownership plans | Standing-seam metal over full ice barrier | Sheds snow; higher upfront cost ($11.70 to $21.10 per sq ft estimate) |
| Roof already has two layers | Full tear-off; ignore any roof-over bid | IRC R908.3.1.1 does not allow a third layer |
| Storm damage and an open claim | Get the adjuster’s scope first; sign only with the 72-hour cancellation notice attached | Minn. Stat. 326B.811 and 325E.66 protect you |
| Bundling roof with gutters, soffit or fascia | A licensed residential building contractor or remodeler | A roofer-only license cannot contract for that work, and the Recovery Fund then applies |
| Low income, owner-occupied, roof failing | Minnesota Housing Rehabilitation Loan Program | Forgivable up to $37,500 if you meet income and asset limits |
How to price a Minnesota roof replacement, step by step
Pricing a Minnesota roof well takes about seven steps, from measuring the roof to checking the contractor’s license. Doing them in order keeps quotes comparable and keeps code items from being treated as surprise extras.
- Get the roof area in squares. Ask each bidder for their measured square count, or estimate it from the footprint x 1.10 x the pitch factor (1.118 at 6/12). Bids should agree within a few squares.
- Count the existing layers. One layer is normal; two layers rule out a roof-over under IRC R908.3.1.1 and add tear-off cost.
- Price per square. Divide each bid by its square count. For architectural asphalt, about $585 to $935 per square is our 2026 Minnesota range.
- Check the ice barrier line. The bid should name the product and say how far up the roof it runs; 24 inches inside the exterior wall is the code minimum.
- Read the deck clause. Look for a per-sheet or per-sq-ft price for replacing rotted decking, so the extra is capped before tear-off.
- Confirm permit and license. Look up the license on DLI’s site, ask who pulls the permit, and ask for the insurance certificate required by Minn. Stat. 326B.86.
- For insurance jobs, wait for the scope. Compare the adjuster’s line items with the contractor’s itemized estimate, and make sure the 72-hour cancellation notice is attached to any contract.
Neighboring and comparable cold-climate states are priced on our Michigan and Illinois cost pages, and the Colorado page covers another top hail-claim state. For prices across the St. Croix River, see our guide to roof replacement cost in Wisconsin.
Verified roofers in Minnesota metros
Pricing a roof is half the job; the other half is choosing who installs it. The Roofing Brief ranks manufacturer-certified roofers in 7 Minnesota metros, scoring each on a published formula and checking the leaders against state licence and BBB records.
- Best roofers in Minneapolis, MN: five certified contractors ranked and checked against licence and BBB records, led by Sela Roofing & Remodeling (TRB Score 93.7).
- Best roofers in Sioux Falls, SD: five certified contractors ranked and checked against licence and BBB records, led by Top Notch Roofing (TRB Score 88.1).
- Best roofers in Duluth, MN: five certified contractors ranked and checked against licence and BBB records, led by Empire Roofing (TRB Score 87.9).
- Best roofers in Fargo, ND: two certified contractors ranked and checked against licence and BBB records, led by A & B Roofing Improvements Ltd (TRB Score 71.3).
- Best roofers in Rochester, MN: five certified contractors ranked and checked against licence and BBB records, led by Weather Shield Home Experts LLC (TRB Score 86.3).
- Best roofers in St. Cloud, MN: four certified contractors ranked and checked against licence and BBB records, led by Lutgen Companies (TRB Score 93.4).
- Best roofers in La Crosse, WI: five certified contractors ranked and checked against licence and BBB records, led by Riverland Exteriors (TRB Score 80.3).
Frequently asked questions
What is the average cost of replacing a roof in Minnesota?
Published Minnesota averages run from $8,737 (This Old House, RSMeans data) to $9,988 in Minneapolis (Angi), but both describe smaller roofs. By our estimate, architectural asphalt costs $5.85 to $9.35 per sq ft installed in Minnesota, or about $11,700 to $18,700 for 2,000 sq ft of roof. Labor, layers and decking move a specific house within that range.
Will insurance cover a 20-year-old roof?
It can, if the damage comes from a covered peril such as hail or wind, but age often changes the payout. Many policies settle older roofs at actual cash value through a roof-surfacing endorsement such as ISO HO 04 93, which deducts depreciation. Wear and tear is not covered. In Minnesota, replacement cost coverage must pay for code-required work under Minn. Stat. 65A.10, subject to limits.
Is $30,000 too much for a roof?
Not always. Zonda’s Cost vs Value 2025 priced a large 3,000 sq ft Minneapolis asphalt tear-off with skylights at $31,900. For a simpler roof, $30,000 buys roughly 3,200 to 5,100 sq ft of architectural asphalt at our Minnesota estimate of $5.85 to $9.35 per sq ft. Divide the bid by its square count; well above $935 per square needs an itemized reason.
What is the 25% rule for roofing?
The 25% rule comes from the Florida Building Code, which limits how much of a roof can be repaired in a 12-month period before the whole roof section must be replaced. Minnesota’s code, the 2018 IRC as amended by Minnesota Rules chapter 1309, has no 25% threshold in its reroofing section, R908. Some contractors use 25% loosely as a repair-or-replace rule of thumb.
How much does it cost to replace a roof on a 2,200 square-foot house in Minnesota?
A 2,200 sq ft one-story Minnesota house has about 2,706 sq ft of roof (27.1 squares) at a 6/12 pitch with modest overhangs, so architectural asphalt costs roughly $15,900 to $25,400 at our Minnesota estimate. The same roof at the national baseline of $5 to $8 per sq ft would be about $13,500 to $21,600. A two-story house with the same floor area has about half as much roof, so it costs about half as much.
Should a 20-year-old roof be replaced?
Age alone does not decide it. A 20-year-old asphalt roof is near the end of many shingle lifespans, so replace it if you see curling, granule loss, repeated leaks, soft decking or hail bruising. If the roof is sound, an inspection and minor repairs can buy time. Check your policy too, because older roofs often move to actual cash value settlement.
Do you need a permit to replace a roof in Minnesota?
In most Minnesota cities, yes. Minnesota Rules 1300.0120, subpart 4, lists permit-exempt work, and reroofing is not on it, so cities and counties that enforce the State Building Code generally require a reroof permit. Fees are local: Minneapolis’s valuation-based schedule works out to about $380 on a $15,000 job, including the state surcharge of 0.0005 times the job value.
Can a roofer pay my insurance deductible in Minnesota?
No. Minn. Stat. 325E.66 bars a residential roofer or contractor from advertising or promising to pay all or part of an insurance deductible, or offering compensation for an inspection, claim or referral. If a contractor breaks the rule, the insurer does not have to consider that contractor’s estimate, and the homeowner or insurer may sue for resulting damages.
Sources
Primary sources and data used on this page
- U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025, roofers (SOC 47-2181): Minnesota, U.S. and metropolitan estimates, via the BLS public data API.
- Minnesota Rules 1309.0010, 1309.0301 (Table R301.2(1)) and 1309.0905: Minnesota Residential Code adoption of the 2018 IRC and roof amendments (revisor.mn.gov).
- 2018 International Residential Code, sections R905.1.2, R908.3, R908.3.1 and R908.3.1.1 (International Code Council).
- Minnesota Rules 1303.1700 (ground snow load) and 1300.0120, subpart 4 (work exempt from permit).
- Minnesota Statutes 325E.66, 326B.148, 326B.802, 326B.805, 326B.81, 326B.811, 326B.815, 326B.86, 326B.89 and 65A.10 (2025 Minnesota Statutes, revisor.mn.gov).
- Minnesota Department of Labor and Industry: roofer license application, who needs a roofer license, residential contractor FAQ.
- NOAA National Centers for Environmental Information, Storm Events Database detail files, 2016 to 2025.
- National Insurance Crime Bureau, Top 5 States for Hail Claims, 2017 to 2019 data.
- Zonda, Cost vs Value Report 2025, Minneapolis city report and national data.
- This Old House, Roof Replacement Cost in Minnesota, updated June 17, 2026; Angi, Minneapolis roof replacement and metal roof cost guides, accessed October 2026.
- Minneapolis Building Permit Fee Schedule and Worksheet; City of Duluth CSI permit fees page.
- Minnesota Housing: Fix Up, Rehabilitation Loan Program and home improvement income limits pages.
- Public Law 119-21 and IRS FS-2025-05 on the end of 25C and 25D homeowner credits.
- Retail listings for GAF WeatherWatch and Grace Ice & Water Shield 200 sq ft rolls, Lowe’s, checked October 2026.