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

How to Fix a Leaky Bath Faucet

Leaky bath faucets are often due to old stem assemblies that are worn down or corroded. Luckily, replacing the assembly is an easy fix and can stop the leak for good. Here, our bath experts walk you through how to fix a leaky bath faucet.

What you’ll need to fix a leaky bath faucet:bath experts

  • Screwdriver
  • Pliers
  • Bath socket wrench
  • New stem assembly
  • Plumbing lubricant
  • Caulk
  1. First, turn off the water supply to your faucet and open up the valves to drain any excess water.
  2. Next, locate the screw on the faucet handle. (It may be underneath an insert.)
  3. Use your screwdriver to remove the screw and wiggle the handle to pull it off.
  4. After that, unscrew the escutcheon to reveal the stem assembly.
  5. If the stem’s hex nut is exposed, use a pair of pliers to loosen it and remove the stem. If it’s not, slide a bath socket wrench onto the stem and turn it to loosen the stem.
  6. Next, remove the old stem.
  7. In the new stem assembly, place the new washer ring onto the new stem.
  8. Spread some plumbing lubricant onto the stem’s threads, then insert the stem into the wall.
  9. After that, use your pliers to tighten the new stem.
  10. Remove the threaded tube from the old stem and place it on your new one so you can reattach the escutcheon.
  11. Slide the escutcheon onto the stem and tighten it down.
  12. For a waterproof seal, spread a thin layer of caulk between the escutcheon and the wall.
  13. After that, replace your handle assembly and the faucet handle.
  14. Finally, replace the screw on the faucet handle and replace the insert, if necessary.

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/bathtub-maintenance/fix-leaky-bath-faucet/'> <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>