A salt is made when the H+ in an acid is replaced by a metal ion or ammonium ion
A base is a proton acceptor - metal oxide, hydroxide, carbonate and ammonia (forms dative covalent bond, but this is A Level)
It does not have to be insoluble
NaOH is soluble and NaOH + HCl -> H2O + NaCl
NaCl is the salt formed, as the Na+ ion has replaced the H+ in HCl.
I think you are getting confused between a base and alkali
Do you understand when I say: All alkali are bases, but not all bases are alkali
Alkali - proton acceptor (base) that dissolves in water