I’ve dealt with this exact problem on a few park and garden benches, so I’ll walk you through what actually works. Once a metal bench has been through a couple of wet, salty, or freezing winters, the paint starts to fail at the joints, under the seat slats, and around bolt holes. Rust usually shows up there first. The goal is to stop the rust you already have, seal the metal, and keep moisture away going forward.
Start with a really good cleaning. Use warm water with a mild degreaser or dish soap and scrub the whole bench with a stiff brush or a scouring pad. Pay extra attention to seams, corners, welds, and any place two pieces of metal meet. Rinse well and let it dry completely. If the metal is damp when you paint, the new coating will fail quickly.
Next, remove the rust. For light surface rust, sand it with medium-grit sandpaper, then go over it again with fine-grit paper until you see clean metal. For heavier rust, use a wire brush, a drill-mounted wire wheel, or a rust remover gel. If you use a chemical rust remover, follow the instructions and neutralize the surface afterward. The bench does not need to look perfect, but loose rust and flaking paint must be gone.
Once the metal is clean and dry, wipe it down with mineral spirits or rubbing alcohol to remove any leftover dust, oil, or residue. Then apply a rust-inhibiting primer. Look for an oil-based or alkyd primer made for metal, and choose one that says rust-inhibiting or rust-preventive. Spray or brush it on in thin, even coats. Get it into the joints and underside of the bench, not just the visible areas. Let the primer dry according to the label.
After the primer is fully dry, apply a topcoat made for exterior metal. An oil-based enamel or a direct-to-metal acrylic paint works well. Apply at least two thin coats instead of one thick coat. Thin coats dry better and resist cracking. If your bench is a street bench that sees a lot of weather, two full coats will make a huge difference. Let the final coat cure for several days before the bench gets wet if you can.
To prevent rust from coming back after future winters, add a few habits. Check the bench each spring and fall for scratches or chips. Touch up any bare metal with primer and paint before it rusts. Keep leaves, snow, and standing water from sitting on the seat or trapped under the legs. If possible, lift the bench slightly onto pavers or feet so the legs are not constantly sitting in wet grass or puddles. A breathable furniture cover can help in winter, but avoid wrapping it tightly in plastic, which can trap condensation.
If the bench is very badly rusted or structurally weak, it may be worth sandblasting and powder-coating it. That is a bigger job, but it gives the most durable finish for a street bench. For most benches, though, cleaning, rust removal, a good primer, and two topcoats will keep it looking solid for several more winters.