The short answer

In ten years of repairing roofs across San Diego County, the same ten causes account for about 90 percent of leaks we diagnose. The top three:

  1. Pipe boot and vent flashing failure (rubber cracks, EPDM splits, sealant breaks down in 8-12 years)
  2. Step flashing or chimney counter-flashing corrosion (salt air accelerates it on the coast, lazy sealant work makes it worse inland)
  3. Tile slip and broken tile from foot traffic (HVAC techs, solar installers, satellite dish crews, dryer-vent cleaners)

Almost everything else is a variation on these three. Less than 5 percent of leaks come from material failure in the roof field itself. Knowing where to look saves you a ceiling. The full breakdown on the best roof material for coastal climates goes deeper.

If you have a ceiling stain in San Diego, you almost certainly have a flashing problem, not a “bad roof” problem. The roof field, meaning the shingles or tiles between penetrations, is the most reliable part of a residential roof. The places where the roof meets something else, including a pipe, chimney, skylight, wall, or solar mount, are where water gets in.

Below is what we actually see, ranked by frequency, on roofs from Coronado to Ramona. Each entry includes the diagnostic signs, the typical fix, and a real cost range in 2026 dollars.

1. Pipe boot and vent flashing failure

How often it shows up: most common leak source on roofs 10+ years old.

Every plumbing vent stack and bath exhaust vent on a roof gets sealed with a “pipe boot”: a metal flange with a rubber or thermoplastic collar that grips the pipe. The collar is the weak point. On a south-facing or west-facing slope in San Diego, the rubber cracks from UV exposure in 8 to 12 years. The crack is hard to see from the ground but obvious from the roof.

Signs: Ceiling stain directly below or within 6 feet down-slope of a vent pipe. Pattern is usually round and concentrates at the same spot during heavy rain.

Fix: Replace the boot. A good roofer uses lead-flashed boots or no-caulk EPDM rubber boots rated for 25+ years. A patch with roofing cement on top of an old boot is a 6-month fix, not a real one.

Cost in 2026: $250 to $550 per boot, depending on access. Most homes have 3-6 boots, so roofers often quote a boot package at $850-$1,400 to replace all of them on the same trip.

2. Step flashing or counter-flashing corrosion

How often it shows up: top three on any roof over 15 years old.

Wherever the roof meets a vertical surface (a chimney, a dormer, a wall transition), step flashing is woven between the shingle courses or tile rows, and counter-flashing is locked into the wall material. Galvanized step flashing in coastal salt air corrodes in 18-25 years. Counter-flashing sealant cracks open in 10-15.

We see this most in Coronado, Imperial Beach, Ocean Beach, La Jolla, Encinitas, and Cardiff. Anywhere within a mile of the ocean.

Signs: Ceiling stain near a wall, chimney, or roof valley. Sometimes appears after wind-driven rain rather than every rain.

Fix: Strip flashing, replace with aluminum or stainless, reset with new counter-flashing and fresh sealant. On chimneys, this often means breaking out and re-mortaring the reglet (the slot the counter-flashing locks into).

Cost in 2026: $450 to $1,800 for step flashing replacement on a wall transition. $900 to $2,400 for chimney flashing replacement. Higher if masonry repair is needed.

3. Tile slip and broken tile from foot traffic

How often it shows up: epidemic on every tile roof that’s been walked on.

Concrete and clay roofing tiles are not designed for foot traffic. When an HVAC tech, solar installer, satellite dish crew, or chimney sweep walks the roof, they break tiles. Most homeowners never know it happened. The broken tile is often visible only from another angle on the roof, and the leak doesn’t show up for two winters.

Signs: Ceiling stain that appeared after a service visit on the roof, no matter how long ago. Look for tiles that are cracked, slid down-slope, or rotated out of alignment.

Fix: Replace broken tiles. On older homes (1920s-1940s Spanish Revival in Mission Hills, Kensington, Mission Beach), matching tile is harder than the repair itself. We keep an inventory of vintage clay tile for this exact reason.

Cost in 2026: $350 to $850 for a small broken-tile repair (typically 3-8 tiles). Higher if the underlayment is exposed and damaged, which pushes the job toward a section repair.

4. Solar mounting foot leaks

How often it shows up: rising fast as the early solar installs hit year 10.

When solar was installed without proper flashing kits (very common from 2010-2018 installers in San Diego), the mounting feet leak. The seal at the L-foot fails, water enters at the lag bolt, and the plywood underneath rots before any ceiling stain appears.

Signs: Ceiling stain anywhere under or down-slope of a solar array. Sometimes the leak comes through a wall instead of a ceiling, because water tracks along the deck before finding a drop point.

Fix: Detach the panel section, pull the mounting foot, install a proper flashed mount, replace any damaged decking. A vetted roofer coordinates with solar installers for panel detach-and-reset.

Cost in 2026: $850 to $2,400 per mounting foot replacement including panel work. Full coverage for our solar-and-roof failures is in Do Solar Panels Damage Your Roof?

5. Skylight flashing breakdown

How often it shows up: predictable around year 15 of any skylight install.

Skylight flashing kits have a useful life of about 15-25 years. After that, the curb-to-roof seal fails, the upper apron tears, or the splash diverter behind the skylight clogs and overflows. Skylights in Mission Hills, Hillcrest, Kensington, and other mid-century neighborhoods often have original 1970s-80s flashing that’s well past replacement.

Signs: Ceiling stain around the skylight perimeter, drip from the inside frame during rain, condensation patterns that look like leaks but track to flashing failure.

Fix: Strip and replace flashing kit. On older skylights, often more economical to replace the entire unit. Modern Velux units with factory flashing kits go in for $1,800-$3,400 installed.

Cost in 2026: $650 to $1,200 for re-flashing an existing skylight. $1,800 to $4,500 for a full skylight replacement including flashing.

6. Valley flashing failure

How often it shows up: third or fourth on the list for older shingle roofs.

A roof valley is where two slopes meet and water concentrates. Valley metal (the W-shaped or open-V channel under the shingles) carries that water down. Galvanized valleys corrode through in 25-30 years coastal, 30-40 inland. When the valley rusts through, water enters the deck under the shingles.

Signs: Ceiling stain in a room directly below where two roof planes meet on the exterior. Stain often appears with heavy rain, not light.

Fix: Strip shingles back along the valley, replace the valley metal with painted aluminum or copper, re-shingle. Not a small repair.

Cost in 2026: $1,400 to $3,800 per valley depending on length and access.

7. Eucalyptus and pine debris dams in valleys and gutters

How often it shows up: every rainy season in older inland neighborhoods.

Mission Hills, Kensington, Talmadge, La Mesa, Spring Valley, Lemon Grove, and parts of Coronado have mature eucalyptus and pine trees that drop heavy debris. The debris dams up roof valleys, blocks gutters, and forces water under the shingle or tile course rather than off the edge.

Signs: Ceiling stain that only appears after sustained heavy rain or atmospheric river events. Visible debris pileup in valleys when you look at the roof from above.

Fix: Clear debris, install valley splash guards, schedule annual cleaning (usually October before the rainy season). On chronic problem trees, trimming back the canopy is the real long-term fix.

Cost in 2026: $250 to $650 for a full roof and gutter debris clear. Annual service contracts run $300-$500.

8. Improper or aged underlayment

How often it shows up: the silent killer on tile roofs.

This is the one that sneaks up on homeowners. The tile looks fine. The flashings look fine. But the underlayment (the felt or synthetic layer under the tile) has aged out. On a 25-year-old tile roof, the underlayment is almost certainly past its rated life. For more on this, see 2026 tile roof replacement cost in San Diego.

When underlayment fails, water entering past a single broken tile (which happens) has nothing to stop it from reaching the deck.

Signs: Leaks appearing at multiple unrelated spots in the same year. New repairs failing within a season or two. Visible underlayment crumbling when a tile is lifted for inspection.

Fix: Tile lift-and-relay. Pull every tile, replace the entire underlayment with synthetic, re-lay the tile.

Cost in 2026: $14,500 to $22,000 on a typical 2,000 sq ft single-family home in San Diego County.

9. Improper roof penetrations from past service work

How often it shows up: surprisingly often.

Satellite dish brackets, antenna mounts, security camera mounts, holiday light clips. Anything someone screwed into the roof at any point in the last 30 years. Each fastener is a potential leak path, and the sealant rarely lasts more than 5 years.

Signs: Ceiling stain near no obvious roof feature, traced back to an old bracket or mount on the roof.

Fix: Remove the bracket, install a proper patch or replace the affected shingle or tile. Sometimes requires deck repair if the fastener has been leaking for years.

Cost in 2026: $200 to $600 per penetration depending on access and material.

10. Failed roof field material (the rarest cause)

How often it shows up: under 5 percent of leaks.

This is what most homeowners think is causing their leak. It’s actually the least common cause. The shingle field, tile field, or membrane field rarely fails first. When it does, it’s usually because the roof is past its useful life and the underlayment failed (see #8).

Signs: Widespread granule loss on shingles, multiple tile fractures across the field, blistering on a flat roof membrane. Usually means the roof is at end-of-life.

Fix: Roof replacement, not repair. See our new roof cost guide and repair vs replacement decision guide.

Cost in 2026: $14,500 to $48,000-plus depending on material.

How San Diego microclimates change the leak picture

The frequency rankings above shift depending on where in the county the home is.

RegionMost Common Leak CauseWhy
Coastal (Coronado, Imperial Beach, OB, La Jolla, Del Mar, Encinitas, Cardiff, Carlsbad, Oceanside)Step flashing and chimney counter-flashing corrosionSalt air accelerates galvanized steel corrosion 40-60% vs inland
Inland Valley (Poway, Escondido, San Marcos, Vista, El Cajon, Scripps Ranch)Pipe boot UV failureHigher attic temperatures and direct sun cure rubber faster
East County / Mountain (Ramona, Alpine, Jamul, Julian, Lakeside)Wind-driven debris and tile slip from Santa Ana events60-80 mph gusts move tiles and lift shingle edges
Older neighborhoods with mature trees (Mission Hills, Kensington, Talmadge, La Mesa)Debris dams in valleys and guttersEucalyptus and pine canopy directly over roof
Solar-equipped homes (network-wide)Solar mounting foot leaksAging solar penetrations from 2010-2018 install era

Frequently asked questions

Can I find a roof leak myself?

Sometimes. Trace the ceiling stain to the highest point of the discoloration, then look on the exterior for the nearest penetration directly above or up-slope. Pipe vents, chimneys, skylights, and roof transitions are the usual suspects. If you can see a damaged boot, lifted shingle, or cracked tile from a ground-level photo with a zoom lens, you’ve probably found it. We don’t recommend walking your own roof, especially tile.

Why does my roof only leak in heavy rain?

Flashing leaks typically appear only during sustained heavy rain or wind-driven rain. The water needs enough volume or velocity to overcome the flashing’s residual sealing capacity. This is why a marginal flashing can hold up for years and then suddenly fail during an atmospheric river event.

Does homeowners insurance cover roof leaks?

It depends on the cause. Sudden damage from a covered peril (wind, hail, falling tree limb) is generally covered. Gradual damage from age or maintenance neglect is generally not covered. California carriers are increasingly strict about the age cliff (most won’t cover roofs over 20-25 years old at all). We cover the full insurance landscape in our California roof insurance coverage guide.

Will a tarp work as a short-term fix?

Yes, if it’s done correctly. A tarp needs to be secured up-slope of the leak source with the upper edge run under a higher shingle course or tile, then wrapped over a 2x4 nailed to the deck along the lower edge. A tarp draped over the leak with bricks holding the corners will fail in the first wind. We do same-day emergency tarp service across San Diego County.

How do I find the source of an active leak?

Three-step approach: (1) trace the ceiling stain to its highest point inside, (2) measure the distance from a known exterior feature (wall corner, window, eave edge), (3) inspect that point on the roof for any penetration, transition, or damage. If you can’t safely access the roof, schedule a roof inspection. The roofers in our network use moisture meters and infrared imaging to find the source without guessing.

When to call vs. when to wait

Call right away if:

  • Water is actively dripping inside the home during rain
  • The stain is growing visibly across multiple storms
  • You see daylight through the roof from inside the attic
  • A storm just blew through and you can see lifted shingles or displaced tiles

You can wait until business hours if:

  • The stain has been there for years without growing
  • It hasn’t rained in weeks and the issue is hypothetical
  • You’re scheduling a planned roof inspection

For active leaks, we dispatch a vetted roofer for 24/7 emergency roof service across all 67 San Diego County cities. For everything else, schedule a free inspection and we’ll match you with a vetted roofer who tells you which of these ten causes is yours and what the real fix costs.

For the full picture on when leaks become a “replace, not repair” call, see our repair vs replacement decision guide. For lifespan context, see how long does a roof last in San Diego. For diagnosis and repair of an active leak, see our San Diego roof leak repair service.