Construction laborer salary in Minnesota
Median $28.97 an hour for 28,530 construction laborers, May 2025, with the union scale by county and the trend since 1999.
Construction laborer pay in Minnesota: the full range
Minnesota ranks 6th of 51 states for median construction laborer pay, and 3rd once adjusted for cost of living (the cost-of-living-adjusted median is $29.38). 28,530 construction laborers work in the state.
| Career stage (approximate) | Hourly | Annual | Where it sits in the distribution |
|---|---|---|---|
| Apprentice / entry | $20.65 – $23.28 | $42,950 – $48,420 | roughly the 10th–25th percentile |
| Journeyman | $23.28 – $38.32 | $48,420 – $79,710 | the middle half, around the median |
| Master / foreman / specialist | $38.32 – $46.23 | $79,710 – $96,150 | the 75th–90th percentile and above |
Where does your pay fall?
Construction laborer pay by metro in Minnesota
| Metro | 10th | Median $/hr | 90th | Jobs | vs state |
|---|---|---|---|---|---|
| Minneapolis | $21.09 | $29.79 | $46.48 | 17,330 | 3% above |
| Duluth | $20.97 | $29.49 | $42.99 | 1,390 | 2% above |
| Rochester | $18.12 | $28.55 | $45.18 | 990 | 1% below |
| Mankato | $21.12 | $28.53 | $37.78 | 340 | 2% below |
| La Crosse | $18.70 | $28.32 | $36.48 | 610 | 2% below |
| St. Cloud | $21.39 | $27.80 | $43.80 | 1,470 | 4% below |
| Fargo | $21.16 | $23.72 | $37.19 | 1,760 | 18% below |
| Grand Forks | $19.77 | $23.59 | $31.80 | 510 | 19% below |
| Sioux Falls | $17.54 | $22.53 | $27.73 | 700 | 22% below |
Construction laborer wages in Minnesota over time
Table
| Year | Minnesota $/hr | In 2025 $ | US $/hr | Jobs |
|---|---|---|---|---|
| 1999 | $16.44 | $31.77 | $10.85 | 10,310 |
| 2000 | $16.59 | $31.02 | $11.15 | 12,520 |
| 2001 | $17.78 | $32.32 | $11.57 | 12,420 |
| 2002 | $17.92 | $32.07 | $11.90 | 11,510 |
| 2003 | $17.33 | $30.32 | $11.86 | 9,910 |
| 2004 | $18.47 | $31.48 | $12.10 | 10,000 |
| 2005 | $19.82 | $32.67 | $12.22 | 11,380 |
| 2006 | $18.49 | $29.53 | $12.66 | 11,750 |
| 2007 | $18.38 | $28.54 | $13.13 | 10,070 |
| 2008 | $19.88 | $29.73 | $13.71 | 8,660 |
| 2009 | $20.78 | $31.18 | $14.01 | 7,270 |
| 2010 | $21.46 | $31.68 | $14.08 | 6,550 |
| 2011 | $19.81 | $28.35 | $14.30 | 6,670 |
| 2012 | $18.91 | $26.52 | $14.42 | 7,440 |
| 2013 | $19.36 | $26.76 | $14.64 | 8,320 |
| 2014 | $19.72 | $26.82 | $14.95 | 9,200 |
| 2015 | $19.09 | $25.93 | $15.34 | 10,200 |
| 2016 | $20.95 | $28.10 | $16.07 | 11,330 |
| 2017 | $22.37 | $29.38 | $16.60 | 12,080 |
| 2018 | $23.64 | $30.31 | $17.21 | 12,810 |
| 2019 | $22.61 | $28.47 | $17.72 | 12,400 |
| 2020 | $23.25 | $28.92 | $18.22 | 12,120 |
| 2021 | $22.45 | $26.67 | $18.16 | 18,200 |
| 2022 | $23.20 | $25.52 | $19.59 | 24,000 |
| 2023 | $26.75 | $28.26 | $21.78 | 24,540 |
| 2024 | $28.23 | $28.97 | $22.47 | 27,510 |
| 2025 | $28.97 | $28.97 | $22.66 | 28,530 |
In today's dollars, the median construction laborer wage in Minnesota changed by +11.7% over the last ten years of data.
Union scale and prevailing wage for construction laborers in Minnesota
On federally funded construction in Minnesota, contractors must pay construction laborers at least the Davis-Bacon rate for the county. 0 of the 87 counties with a Building rate use a union contract rate (typical package — an hour including fringe); the rest use a survey rate (typical $63.31). The market median for the state is $28.97.
| County | Rate source | Base | Fringe | Total | Determination |
|---|---|---|---|---|---|
| Anoka | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260028 |
| Carver | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260036 |
| Chisago | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260039 |
| Dakota | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260045 |
| Goodhue | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260051 |
| Hennepin | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260053 |
| Isanti | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260056 |
| Ramsey | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260088 |
| Scott | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260095 |
| Sherburne | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260096 |
| Washington | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260108 |
| Wright | state SAMN2025-001 2025-12-22 | $46.25 | $27.87 | $74.12 | MN20260112 |
| Becker | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260029 |
| Clay | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260040 |
| Crow Wing | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260044 |
| Douglas | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260047 |
| Grant | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260052 |
| Hubbard | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260055 |
| Meeker | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260073 |
| Morrison | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260075 |
| Otter Tail | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260082 |
| Stearns | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260099 |
| Stevens | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260101 |
| Swift | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260102 |
| Todd | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260103 |
| Traverse | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260104 |
| Wadena | state SAMN2025-001 2025-12-22 | $40.52 | $27.48 | $68.00 | MN20260106 |
| Dodge | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260046 |
| Faribault | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260048 |
| Fillmore | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260049 |
| Freeborn | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260050 |
| Houston | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260054 |
| Le Sueur | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260066 |
| Mower | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260076 |
| Olmsted | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260081 |
| Rice | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260092 |
| Steele | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260100 |
| Wabasha | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260105 |
| Waseca | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260107 |
| Winona | state SAMN2025-001 2025-12-22 | $39.00 | $27.30 | $66.30 | MN20260111 |
| Blue Earth | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260033 |
| Brown | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260034 |
| Cottonwood | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260043 |
| Jackson | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260058 |
| Lyon | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260068 |
| McLeod | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260072 |
| Martin | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260071 |
| Nicollet | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260078 |
| Redwood | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260090 |
| Renville | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260091 |
| Rock | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260093 |
| Sibley | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260097 |
| Watonwan | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260109 |
| Yellow Medicine | state SAMN2025-001 2025-12-22 | $35.83 | $27.48 | $63.31 | MN20260113 |
| Benton | state SAMN2025-001 2025-12-22 | $37.66 | $24.41 | $62.07 | MN20260031 |
| Aitkin | state SAMN2025-001 2025-12-22 | $35.66 | $25.17 | $60.83 | MN20260027 |
| Itasca | state SAMN2025-001 2025-12-22 | $34.87 | $25.96 | $60.83 | MN20260057 |
| Kanabec | state SAMN2025-001 2025-12-22 | $35.66 | $25.17 | $60.83 | MN20260059 |
| Koochiching | state SAMN2025-001 2025-12-22 | $34.87 | $25.96 | $60.83 | MN20260062 |
| Mille Lacs | state SAMN2025-001 2025-12-22 | $35.66 | $25.17 | $60.83 | MN20260074 |
| Chippewa | state SAMN2025-001 2025-12-22 | $36.06 | $24.39 | $60.45 | MN20260038 |
| Carlton | state SAMN2025-001 2025-12-22 | $35.22 | $25.17 | $60.39 | MN20260035 |
| Cook | state SAMN2025-001 2025-12-22 | $35.22 | $25.17 | $60.39 | MN20260042 |
| Lake | state SAMN2025-001 2025-12-22 | $35.22 | $25.17 | $60.39 | MN20260064 |
| St. Louis | state SAMN2025-001 2025-12-22 | $35.22 | $25.17 | $60.39 | MN20260098 |
| Lac qui Parle | state SAMN2025-001 2025-12-22 | $59.63 | $0.00 | $59.63 | MN20260063 |
| Nobles | state SAMN2025-001 2025-12-22 | $30.89 | $23.47 | $54.36 | MN20260079 |
| Beltrami | state SAMN2025-001 2025-12-22 | $27.28 | $23.82 | $51.10 | MN20260030 |
| Lake of the Woods | state SAMN2025-001 2025-12-22 | $27.28 | $23.82 | $51.10 | MN20260065 |
| Mahnomen | state SAMN2025-001 2025-12-22 | $27.28 | $23.82 | $51.10 | MN20260069 |
| Marshall | state SAMN2025-001 2025-12-22 | $27.28 | $23.82 | $51.10 | MN20260070 |
| Red Lake | state SAMN2025-001 2025-12-22 | $27.28 | $23.82 | $51.10 | MN20260089 |
| Pine | state SAMN2025-001 2025-12-22 | $33.00 | $3.22 | $36.22 | MN20260084 |
| Pope | state SAMN2025-001 2025-12-22 | $33.00 | $3.08 | $36.08 | MN20260087 |
| Kandiyohi | state SAMN2025-001 2025-12-22 | $33.00 | $1.75 | $34.75 | MN20260060 |
| Wilkin | state SAMN2025-001 2025-12-22 | $29.80 | $3.15 | $32.95 | MN20260110 |
| Murray | state SAMN2025-001 2025-12-22 | $26.30 | $3.20 | $29.50 | MN20260077 |
| Clearwater | state SAMN2025-001 2025-12-22 | $22.00 | $5.50 | $27.50 | MN20260041 |
| Norman | state SAMN2025-001 2025-12-22 | $22.00 | $5.50 | $27.50 | MN20260080 |
| Pennington | state SAMN2025-001 2025-12-22 | $22.00 | $5.50 | $27.50 | MN20260083 |
| Polk | state SAMN2025-001 2025-12-22 | $22.00 | $5.50 | $27.50 | MN20260086 |
| Lincoln | state SAMN2025-001 2025-12-22 | $24.00 | $2.86 | $26.86 | MN20260067 |
| Pipestone | state SAMN2025-001 2025-12-22 | $24.00 | $2.86 | $26.86 | MN20260085 |
| Kittson | state SAMN2025-001 2025-12-22 | $24.00 | $0.00 | $24.00 | MN20260061 |
| Roseau | state SAMN2025-001 2025-12-22 | $24.00 | $0.00 | $24.00 | MN20260094 |
| Big Stone | state SAMN2025-001 2025-12-22 | $21.00 | $0.00 | $21.00 | MN20260032 |
| Cass | state SAMN2025-001 2025-12-22 | $21.00 | $0.00 | $21.00 | MN20260037 |
Building construction type, current revisions as of 2026-09-28. Residential, Heavy and Highway rates differ; look them up on the Minnesota prevailing wage page. This is not the official wage determination.
Is construction work growing in Minnesota?
Contractor pay by county
Average pay at specialty trade contractors establishments by county (all employees, not just construction laborers), from the Quarterly Census of Employment and Wages, 2025 annual averages.
| County | Employees | Average annual pay | Avg weekly wage |
|---|---|---|---|
| Ramsey County | 9,056 | $106,136 | $2,041 |
| Hennepin County | 21,844 | $98,504 | $1,894 |
| Goodhue County | 777 | $96,065 | $1,847 |
| Carlton County | 440 | $95,378 | $1,834 |
| Washington County | 3,021 | $93,638 | $1,801 |
| Dakota County | 6,693 | $92,730 | $1,783 |
| Scott County | 3,459 | $89,101 | $1,713 |
| Kanabec County | 200 | $87,888 | $1,690 |
| Anoka County | 7,249 | $87,449 | $1,682 |
| Carver County | 1,779 | $87,233 | $1,678 |
| Le Sueur County | 414 | $85,520 | $1,645 |
| Chisago County | 763 | $85,347 | $1,641 |
| Benton County | 1,809 | $84,856 | $1,632 |
| Blue Earth County | 1,313 | $82,371 | $1,584 |
| Itasca County | 582 | $80,526 | $1,549 |
| Beltrami County | 712 | $80,477 | $1,548 |
| Chippewa County | 148 | $80,220 | $1,543 |
| Stearns County | 2,946 | $79,846 | $1,536 |
| Olmsted County | 3,049 | $79,793 | $1,534 |
| St. Louis County | 2,672 | $79,418 | $1,527 |
| Clearwater County | 210 | $79,142 | $1,522 |
| Koochiching County | 101 | $78,336 | $1,506 |
| Steele County | 439 | $77,470 | $1,490 |
| Wright County | 2,674 | $73,743 | $1,418 |
| Rice County | 674 | $73,018 | $1,404 |
| Sherburne County | 1,804 | $72,634 | $1,397 |
| Pipestone County | 268 | $72,024 | $1,385 |
| Dodge County | 239 | $71,880 | $1,382 |
| Becker County | 580 | $71,463 | $1,374 |
| Douglas County | 701 | $71,083 | $1,367 |
| McLeod County | 314 | $70,983 | $1,365 |
| Mower County | 399 | $70,606 | $1,358 |
| Meeker County | 366 | $69,446 | $1,336 |
| Renville County | 98 | $69,196 | $1,331 |
| Lyon County | 245 | $68,759 | $1,322 |
| Crow Wing County | 1,114 | $68,686 | $1,321 |
| Freeborn County | 329 | $68,510 | $1,318 |
| Marshall County | 85 | $68,399 | $1,315 |
| Martin County | 187 | $67,405 | $1,296 |
| Nicollet County | 228 | $67,367 | $1,296 |
| Morrison County | 300 | $67,240 | $1,293 |
| Cottonwood County | 136 | $66,895 | $1,286 |
| Nobles County | 113 | $66,445 | $1,278 |
| Isanti County | 555 | $65,120 | $1,252 |
| Mille Lacs County | 354 | $64,669 | $1,244 |
| Pine County | 258 | $64,342 | $1,237 |
| Cass County | 262 | $64,184 | $1,234 |
| Pope County | 90 | $63,530 | $1,222 |
| Redwood County | 146 | $63,434 | $1,220 |
| Stevens County | 66 | $63,184 | $1,215 |
| Lincoln County | 79 | $63,021 | $1,212 |
| Winona County | 504 | $62,320 | $1,198 |
| Wabasha County | 106 | $61,986 | $1,192 |
| Sibley County | 101 | $61,706 | $1,187 |
| Swift County | 156 | $60,544 | $1,164 |
| Polk County | 194 | $60,257 | $1,159 |
| Clay County | 660 | $59,723 | $1,149 |
| Otter Tail County | 684 | $59,452 | $1,143 |
| Watonwan County | 121 | $59,441 | $1,143 |
| Pennington County | 119 | $59,288 | $1,140 |
| Aitkin County | 154 | $59,207 | $1,139 |
| Grant County | 94 | $59,189 | $1,138 |
| Waseca County | 169 | $58,855 | $1,132 |
| Todd County | 212 | $58,534 | $1,126 |
| Kandiyohi County | 472 | $57,799 | $1,112 |
| Brown County | 332 | $57,622 | $1,108 |
| Hubbard County | 277 | $56,510 | $1,087 |
| Rock County | 104 | $56,473 | $1,086 |
| Faribault County | 157 | $54,523 | $1,049 |
| Wilkin County | 79 | $54,521 | $1,048 |
| Big Stone County | 58 | $53,662 | $1,032 |
| Fillmore County | 174 | $53,564 | $1,030 |
| Lake County | 57 | $52,487 | $1,009 |
| Kittson County | 62 | $51,825 | $997 |
| Murray County | 92 | $50,445 | $970 |
| Wadena County | 87 | $49,810 | $958 |
| Jackson County | 55 | $48,602 | $935 |
| Lac qui Parle County | 48 | $47,152 | $907 |
| Roseau County | 55 | $44,911 | $864 |
| Norman County | 29 | $41,553 | $799 |
| Cook County | — | — | — |
| Houston County | — | — | — |
| Lake of the Woods County | — | — | — |
| Mahnomen County | — | — | — |
| Red Lake County | — | — | — |
| Traverse County | — | — | — |
| Yellow Medicine County | — | — | — |
Keep comparing
Construction laborer pay in neighbouring states
Other trades in Minnesota
Questions this page answers
How much do construction laborers make in Minnesota?
The median construction laborer in Minnesota earned $28.97 an hour ($60,260 a year) in May 2025, 28% above the national median of $22.66. The middle half earn $23.28–$38.32; the top 10% earn more than $46.23.
Where does Minnesota rank for construction laborer pay?
Minnesota ranks 6th of 51 states for construction laborer pay, with a median of $28.97 an hour, and 3rd after adjusting for Minnesota's cost of living (BEA price parity 98.6, US = 100).
What is the union construction laborer rate in Minnesota?
Davis-Bacon determinations do not list a construction laborer classification for most Minnesota counties, or the trade is not covered; the BLS wage figures above are the best available measure.
How many construction laborers work in Minnesota?
BLS counted 28,530 construction laborers in Minnesota in May 2025, 9.7 per 1,000 jobs (location quotient 1.37; 1.0 is the national average concentration).
Sources and notes
- BLS Occupational Employment and Wage Statistics, May 2025, Minnesota and metro areas, SOC 47-2061.
- BLS Current Employment Statistics, state construction employment through 2026-08.
- BLS Quarterly Census of Employment and Wages, 2025 annual averages.
- BEA Regional Price Parities (cost-of-living adjustment).
- SAM.gov Davis-Bacon wage determinations, current revisions as of 2026-09-28. Not the official determination.