Cost guide
How much does bathroom fitting cost?
A full bathroom refit costs £4,000 to £9,000 with mid-range fittings. Labour alone is £2,000 to £4,000; the rest is sanitaryware, tiles and materials. A cloakroom is £1,200 to £2,800.
Typical prices
Ranges, not quotes. A quote depends on your room.
| Work | Typical UK price |
|---|---|
| Cloakroom or WC, supply and fit | £1,200 to £2,800 |
| Bathroom refit, same layout | £4,000 to £6,500 |
| Bathroom refit, changed layout | £5,500 to £9,000 |
| Wet room, fully tanked | £6,000 to £12,000 |
| En suite in a new position | £4,500 to £8,500 |
| Labour only, customer supplies everything | £2,000 to £4,000 |
Order and take delivery of all the sanitaryware before the strip-out starts. A bathroom held up waiting for a back-ordered bath is a room out of use, and the trades booked after the plumber do not wait.
What moves the price
- Whether the WC, bath or basin change position. Moving a soil connection is the single biggest cost jump.
- Wet room construction, which needs a falling floor and full tanking.
- Tiling area and tile size. Large format tiles need flatter walls and more preparation.
- Sanitaryware. The same labour fits a £300 suite and a £3,000 one.
- Whether the property is a flat, where soil stack access and working hours are constrained.
- Electrics: shower circuits, fans and lighting are a separate certified trade.

What the money buys: full bathroom strip-outs and refits.
Who quotes for it
16 of the 61 plumbers and heating engineers listed on this site take on bathroom fitting.
Most of them in one place: Liverpool (5), Leeds (4), Birmingham (3), Manchester (2), Glasgow (2).
Questions about bathroom fitting
Do I need an electrician as well?
For a shower, extractor fan, lighting or a shaver socket, yes. Bathroom electrics are notifiable work in England and Wales and need certifying.
What is tanking and do I need it?
A waterproof membrane applied to walls and floor before tiling. Tiles and grout are not waterproof on their own. In a shower enclosure or wet room it is not optional.