Expert St Louis Roofing Repair & St Louis Roof Replacement from Bone Dry Roofing

Free Upgrade* to Owens Corning Duration Shingle!* See Specials for details.

  • Contact Us Today!
  • This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Our Services

We’re fully licensed to perform roofing work in your area, and we are adequately insured for your protection.

Roofing Replacement & Repair Service

Whether you’re in need of an entirely new roof or just have a leak, Bone Dry is a name you can trust. The largest fleet with the most experienced crews means prompt service and satisfied customers. Our roofs have a lifetime guarantee.* But what’s even better, is that we guarantee we’ll be back in five years to check our work and fix any issues at no charge. No kidding. And we can make you feel right at home, when you’re away from home. That’s because we also do flat, membrane roofs for commercial properties. We have a special division just for businesses. *Limited lifetime warranty on workmanship and manufacturer defects.

 

Contact Us Today
  • Storm Damage?

    The greater St. Louis area has experienced strong, isolated storms that have resulted in hail and storm-related damage in some communities. If your home has suffered storm damage, Bone Dry can help! Schedule a free inspection and estimate today. Schedule a Free Inspection

Our Reviews

  • May 4th, 2022

    Service was fast and efficient

    Bryan Geisler
  • April 11th, 2022

    I was blown away by Adnan and Josh’s service. Very polite, straightforward, and I wasn’t over sold. They were honest, gave me some options, and let me choose without any pressure. The work was do..

    Shaun Hautly
  • April 9th, 2022

    My sales representative Travis was very professional. Took the time to check everything out and tell me exactly what needed to be done. Very throughly explained the job from top to bottom. He took a t..

    Ian Dal

VIEW ALL REVIEWS

Why Choose Us

  • In business since 1989
  • Largest roofing contractor in the Midwest
  • Owens Corning Roofing Platinum Preferred
  • Free estimates for all services

Find Out About our Senior Citizen and Military Discounts

Learn More

WE'RE LOCAL

Our team members work, shop, play, and live in the communities we serve.

(function(cookieName, domain){ var traffic_source_COOKIE_TOKEN_SEPARATOR = ">>"; //separating between concatenated lead source var traffic_source_date_SEPARATOR = "|>"; var NONE = "(website)"; domain = domain || window.location.hostname; function getCookie(cookieName){ var name = cookieName + "="; var cookieArray = document.cookie.split(';'); //break cookie into array for(var i = 0; i < cookieArray.length; i++){ var cookie = cookieArray[i].replace(/^\s+|\s+$/g, ''); //replace all space with '' = delete it if (cookie.indexOf(name)==0){ return cookie.substring(name.length,cookie.length); // } } return null; } function getURLParameter(param){ var pageURL = window.location.search.substring(1); //get the query string parameters without the "?" var URLVariables = pageURL.split('&'); //break the parameters and values attached together to an array for (var i = 0; i -1) { if(end === -1) { end = utmzCookie.length; } cookieCampaignName = "utmz:" + utmzCookie.substring((start + UTMSRC.length), end); //get the value of the UTMZ, without the parameter name } } if(cookieCampaignName != "" && isNotNullOrEmpty(urlParamSRC)){ //if there is a campaign name AND there is SRC value traffic_source = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; //concateane the SRC with the existing campaign name // traffic_source = urlParamSRC + currTime() + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; // Optional: add the session time } else if(cookieCampaignName != ""){ //if there is campaign name traffic_source = cookieCampaignName; //just use it for the new cookie } else if(urlParamSRC != null) { //if there is not campaign name but we have SRC traffic_source = decodeURI(urlParamSRC); // decode URI of the SRC parameter // traffic_source = decodeURI(urlParamSRC) + currTime(); // Optional: add the session time } else if(document.referrer != ""){ //if there is not campaign, and no src, check if there is a referrer, var referrerHostName = removeProtocol(document.referrer); var GOOGLE = /www.google/; var YAHOO = /search.yahoo/; var BING = /www.bing/; if(GOOGLE.test(referrerHostName)){ traffic_source = "Google Search"; //traffic_source = "Google Search" + currTime(); // + Optional: Add the current session time. Choose one of them. } else if(YAHOO.test(referrerHostName)){ traffic_source = "Yahoo Search"; //traffic_source = "Yahoo Search" + currTime(); } else if(BING.test(referrerHostName)){ traffic_source = "Bing Search"; //traffic_source = "Bing Search" + currTime(); } else { traffic_source = referrerHostName; //traffic_source = referrerHostName + currTime(); } } else { traffic_source = NONE; } setCookie(cookieName, traffic_source); //set the cookie } else if(isNotNullOrEmpty(urlParamSRC)){ //if there is a cookie, add the SRC to the cookie, unless the same src already exists as the first token. var firstToken = getFirstTokenFromCookie(getCookie(cookieName)); if(firstToken !== "" && urlParamSRC !== firstToken) { var newTrafficSourceCookie = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + getCookie(cookieName); //concetenate new SRC with old cookie values // var newTrafficSourceCookie = urlParamSRC + currTime() + traffic_source_COOKIE_TOKEN_SEPARATOR + getCookie(cookieName); // Optional: add the time of current session setCookie(cookieName, newTrafficSourceCookie); } } })("traffic_source", ".bonedry.com"); function getCookie(name) { //Gets the value of traffic_source var value = "; " + document.cookie; var parts = value.split("; " + name + "="); if (parts.length == 2) return parts.pop().split(";").shift(); } function addTrafficSourceToForm(){ //injects the traffic_source value to the form jQuery(".lead_source input").each(function() { this.value = getCookie("traffic_source"); console.log("Executing"); }); } addTrafficSourceToForm() //initates the process