Quick answer: Roofers in Minnesota typically bill $80–$105 per hour (2025). The median roofer earns $35.81/hr ($74,490/year) per U.S. Bureau of Labor Statistics data — a roofing company charges roughly 2–3× that to cover overhead and profit.
Here's the full picture: what roofers earn, what shops bill, what common jobs cost, how pay varies by metro, and how Minnesota compares to other states.
Roofer income in Minnesota (2025)
Based on U.S. Bureau of Labor Statistics wage data for Minnesota's ~1,890 roofers:
| Experience level | Hourly | Monthly | Annual |
|---|---|---|---|
| Entry-level (10th percentile) | $22.13 | ~$3,836 | ~$46,030 |
| Median (typical) | $35.81 | ~$6,208 | $74,490 |
| Experienced (90th percentile) | $47.68 | ~$8,265 | ~$99,174 |
Monthly and annual figures assume full-time work (about 2,080 hours a year).
What you earn vs. what you charge
The wages above are what a roofer takes home. What a roofing company bills the customer is higher — it has to cover the truck, tools, insurance, licensing, fuel, office time, and profit. A shop typically bills 2.2–3× the worker's wage:
| Rate | |
|---|---|
| Median roofer wage (earned) | ~$36/hr |
| Typical shop rate (charged) | $80–$105/hr |
Where Minnesota ranks
Minnesota pays roofers 34% above the national median, ranking 3rd of 51 states — among the highest-paying states in the country:
| Benchmark | Median hourly wage |
|---|---|
| Highest — Illinois | $37.45 |
| Minnesota (3rd) | $35.81 |
| National median | $26.65 |
| Lowest — Oklahoma | $21.00 |
Roofer rates by Minnesota metro
Pay varies widely within the state. Median roofer wage by metro area (BLS, 2025):
| Metro area | Median wage | Typical billed rate |
|---|---|---|
| St. Cloud | $38.10/hr | $85–$115/hr |
| Minneapolis-St. Paul-Bloomington, MN-WI | $36.25/hr | $80–$110/hr |
| Duluth, MN-WI | $35.03/hr | $75–$105/hr |
| Rochester | $29.78/hr | $65–$90/hr |
| Mankato | $24.16/hr | $55–$70/hr |
| Northwest Minnesota nonmetropolitan area | $23.59/hr | $50–$70/hr |
| Southeast Minnesota nonmetropolitan area | $23.56/hr | $50–$70/hr |
What common roofing jobs cost in Minnesota
At Minnesota billed rates, here's what typical jobs run — labor plus materials, and every job differs:
| Job | Typical Minnesota range |
|---|---|
| Roof inspection | $125–$525 |
| Minor leak repair | $200–$800 |
| Replace missing shingles | $275–$950 |
| Flashing repair | $275–$800 |
| Gutter replacement | $1,050–$3,350 |
| Asphalt shingle roof replacement | $8,000–$20,000 installed |
| Metal roof installation | $13,500–$33,500 installed |
| Flat roof repair | $550–$2,000 |
| Roof ventilation install | $400–$1,200 |
| Skylight installation | $1,200–$3,350 |
Typical ranges to benchmark against — not quotes.
How roofers compare to other trades in Minnesota
Here's how roofer pay lines up against Minnesota's other skilled trades:
| Trade | Median wage | Typical billed rate |
|---|---|---|
| Plumber | $45.39/hr | $100–$135/hr |
| Electrician | $37.58/hr | $85–$115/hr |
| HVAC technician | $36.71/hr | $80–$110/hr |
| Roofer | $35.81/hr | $80–$105/hr |
| Carpenter | $31.22/hr | $70–$95/hr |
Setting your own rate
Use these as benchmarks, not rules — your rate has to cover your real overhead and the profit margin you need. See how to price a job to run the math, then build a quote with the free roofer estimate generator, or download BIG INVOICE to invoice from your phone with your rates saved.
Do roofers need a license in Minnesota?
Licensing requirements depend on the trade and where you work. See Minnesota contractor & trade licensing to check whether roofers need a state license in Minnesota, which board issues it, and how to apply.
Frequently asked questions
How much do roofers charge per hour in Minnesota?
In 2025, most Minnesota roofers bill $80–$105 per hour. That rate covers the worker's wage (a $36/hr median) plus overhead and profit.
What is the average roofer salary in Minnesota?
The median roofer in Minnesota earns about $74,490 a year ($35.81/hr). Entry-level roofers earn around $46,000 and the most experienced earn $99,000 or more.
Do roofers earn more in Minnesota than nationally?
Yes — Minnesota's median roofer wage is about 34% above the national median of $26.65/hr, ranking 3rd of 51 states.
Which Minnesota city pays roofers the most?
St. Cloud, at a $38.10/hr median wage, is among the highest-paying metros in the state.
Wage data: U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics (OEWS), May 2025. Billed rates and job-cost ranges are illustrative estimates (median wage × 2.2–3.0 overhead-and-profit markup), not quotes.