Repairing your leaky roof can cost anywhere between $100 and $1,300. The extent of the leak is the biggest cost factor. Materials also matter. Repairing an asphalt shingle roof averages about $500, while a metal roof goes up to $1,300 and higher.