The bill won final passage Thursday from the Senate on a 30-5 vote after being passed by the House 107-3 a day earlier.
Lake levels are declining, and the federal government has cut back on dredging.
About half of the money would be pulled from a fund that pays for improvements to marine infrastructure. The rest would come from the state's general fund.
Lawmakers are also sending Gov. Rick Snyder legislation lowering dredging permit fees and waiving waiting periods for emergency dredging projects. The state also would spend $1 million on loan fees to help private marinas seeking low-interest loans for dredging.