Slide

Asphalt Paving Contractor and Major Supplier of Aggregates in Southeast Minnesota and West Central Wisconsin

Headquartered in Rochester, Minnesota with affiliates in Winona and Faribault, Rochester Sand & Gravel is an asphalt production and placement contractor and major supplier of aggregates.  The company completes projects such as asphalt highways, driveways, and parking lots throughout Southeastern Minnesota including the Austin, Cannon Falls, and Red Wing areas. Rochester Sand & Gravel is part of a larger, family-owned organization and national leader in asphalt paving with resources and opportunities throughout the Midwest region.

Like any road base installation, Rochester Sand & Gravel employees form the foundation of our business. From our road construction crews and maintenance shop trades to laboratory and management professionals, our company provides rewarding and challenging job opportunities and encourages growth and development.

Safe & Healthy Workplace

Safety is a critical component of every road construction project. The well-being of our teammates and the safety of the traveling public near the work zone and the surrounding community is everyone’s daily responsibility.

Building a Sustainable Future

Rochester Sand and Gravel demonstrates environmental leadership from top to bottom – preserving resources at project sites through careful planning and design, utilizing recycled materials in asphalt pavements and reducing our carbon footprint through alternative energy sources.

Innovations in Asphalt Paving

Rochester Sand and Gravel is supported by a world-renowned laboratory that tests asphalt and aggregate products, conducts leading industry research, and develops new technologies to continually improve the quality and production of asphalt pavement in an energy efficient manner.

Partnering with Communities

Rochester Sand and Gravel has a long-standing tradition of helping build strong communities in which we live and work.  For over 75 years, we have made it our mission to give back and help ensure that local needs are met.

ybFindPhNums = ['15072887447']; ybReplacePhNums = ['15072182382']; if (typeof dmAPI != 'undefined') { dmAPI.runOnReady('dpni', function() { setTimeout(ybFun_ReplaceText, 500); }); } else { window.onload = function() { setTimeout(ybFun_ReplaceText, 500); } }