Good evening and thank you for entrusting me to assist you. My name is ***** ***** I will do everything I can to answer your question.
The employment practice you describe is absolutely against the law. Under both MN and federal law, employees are entitled to be paid for ALL time during which they are "suffered or permitted to work." This would include time an employee spends driving between job sites.
As for your recourse, one option is to immediately file a wage claim with the Dept. of Labor (a free administrative process for which you don't need an attorney). See here for more information about that process.
Another option would be to retain a lawyer and have them send an informal demand letter. Very often these disputes can be resolved without resorting to the legal system. An informal demand might do less harm to your employment relationship if you plan to continue working your present job for much longer.
Yet another possibility to consider is waiting until after you LEAVE this job to take action. Under MN and federal law, you have 2 years to bring a claim, and three years if you can prove the violations were willful. This limitations period functions on a "rolling" basis, meaning each day of overtime violations gives rise to a new claim. So, if you haven't been been getting denied overtime for that long, it may be possible to hold off on taking action until you find a new job--that way there is no risk of retaliation.
Retaliation IS illegal, but very often it manifests in subtle forms that are difficult to prove. So, minimizing the damage to your employment relationship while you continue to work for this employer is a valid and legitimate concern.
To locate attorneys in your area who can help, see here. Most attorneys handle wage claims like this on a pure contingency fee basis. If you don't know, a contingency fee arrangement is one in which the attorney receives a portion of the client's settlement or award as his payment, typically 1/3 of the total amount. If there is no recovery, the attorney does not get paid. The client never pays until the settlement or award is obtained (except perhaps to cover the filing costs for his claim).
I hope that you find this information helpful. Please do not hesitate to let me know if you have any questions or concerns regarding the above and I will be more than happy to assist you further.
If you do not require any further assistance, please be so kind as to provide a positive rating of my service so that I may receive credit for assisting you. Very best wishes moving forward.