A dialysis machine has a pair of membrane flow balance pumps 3, 17 for which the speed or stroke volume or number of cycles can be modified to give different volume flow rates upstream and downstream of the dialyser to bring about ultrafiltration (net movement of dialysate from the dialyser). Preferably the pumps are arranged so that each one can both supply and remove fluid and in use the tasks alternate between them. The pumps may be membrane (diaphragm) pumps with a deployable protrusion (29, figure 3) which can change the volume of the chamber. Each pump may be connected to four lines: a fresh dialysate inlet 2,8 a fresh dialysate outlet 6,12 a spent dialysate inlet 16,14 and a drain 4,10. The flow to the pumps of fresh dialysate may be governed by membrane valves 2,8 having variable volumes (figure 5). A third pump may be present as a dedicated ultrafiltration pump to provide a backup.