The do it yourself resource for homeowners from home improvement professionals.

How to Stop a Roof Leak in the Rain

Few things are more immediately distressing to a homeowner than a leaking roof, especially when rain is still coming down. You may not have ever needed to know how to stop a roof leak in the rain, but now you do.

Tools Required How to Stop a Roof Leak in the Rain

Even if you can’t get on the roof, you may still control water damage by catching water in your attic.

  • Flashlight
  • Sponge
  • Bucket
  • Plywood
  • Putty knife
  • Shingle
  • Tape measure
  • 6-mil polyethylene sheeting (clear or black plastic)
  • Utility knife
  • 4 pieces of 2 x 4 lumber, 4 feet long
  • Staple gun
  • Hammer

How to Stop a Roof Leak in the Rain Steps

  1. Enter your attic and inspect the area where the ceiling is wet.
  2. Remove wet insulation and sponge up water into a bucket.
  3. Set a piece of plywood or other boards across the ceiling joists beneath where water is dripping.
  4. Put the bucket on the board to catch water.
  5. Use your flashlight to examine the roof to locate exactly where water is coming in.
  6. Apply roofing tar to the leaking area with a putty knife.
  7. Stick a spare shingle or piece of plywood onto the roofing tar to build an emergency roof patch.
  8. Put more roofing tar around the patch to make it stay in place.
  9. Now take measurements inside the attic to determine where the leak is on the roof’s exterior.
    1. Measure vertically from the roof’s ridge down to the leak.
    2. Measure horizontally from the gable to the leak.
  10. If you’re willing and able to get on your roof, you may now build an emergency roof covering.
  11. Put on rubber-soled shoes and climb on to the roof.
  12. With the measuring tape, use the vertical and horizontal measurements obtained in the attic to find the leak’s approximate exterior position.
  13. Unroll enough 6-mil polyethylene sheeting to reach from the eave to the ridge plus 4 extra feet.
    1. Cut the piece with a utility knife.
  14. Unfold the cut piece of sheeting to reveal an 8-foot-wide strip.
  15. Roll one end of sheeting around a 2 x 4 and secure it with staples.
  16. Nail a second 2 x 4 over the first 2 x 4 to sandwich the plastic between the boards.
  17. On the roof, set the 2 x 4 plastic sandwich along the eave.
  18. Pull the remaining plastic over the leak and over the ridge.
  19. Sandwich the loose end of sheeting with 2 x 4 lumber to weigh it down.

PJ Fitzpatrick Can Help with Emergency Roof Repairs

After you succeed in building an emergency patch, you’ll need to arrange for a permanent roof patch. PJ Fitzpatrick has a roofing team ready to fix your roof as soon as possible. Ask us for an estimate today.

Need help with this project?

We have trained professionals that can help.

Contact us today. 1-888-446-6492 Get Estimate

P.J. Fitzpatrick, Inc.

21 Industrial Blvd
New Castle, DE 19720

  • NJ Lic. #13VH10727200
  • DE Lic. #2009603070
  • PA Lic. #PA011323
  • MD Lic. #105494

© 2020 P.J. Fitzpatrick, Inc.

Website by the Prager Microsystems, Inc. Digital Marketing Agency

Live Chat With Us
[gravityform id="20" title="false" description="false"]
<div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_20' ><form method='post' enctype='multipart/form-data' id='gform_20' action='/diy/roof-repair/how-to-stop-a-roof-leak-in-the-rain/'> <div class='gform_body'><ul id='gform_fields_20' class='gform_fields top_label form_sublabel_below description_below'><li id='field_20_1' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_20_1' >Your Name:<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_20_1' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /></div></li><li id='field_20_4' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_20_4' >Phone Number:<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_phone'><input name='input_4' id='input_20_4' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /></div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_20' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_20"]){return false;} window["gf_submitting_20"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_20"]){return false;} window["gf_submitting_20"]=true; jQuery("#gform_20").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_20' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='20' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_20' value='WyJbXSIsIjExY2Q2ODU0YWI0Y2RiZGJiMzBhMmEyNzEwY2IwZDM1Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_20' id='gform_target_page_number_20' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_20' id='gform_source_page_number_20' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 20) {jQuery('#input_20_4').mask('(999) 999-9999').bind('keypress', function(e){if(e.which == 13){jQuery(this).blur();} } );} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [20, 1]) } ); </script>