I second everything @MargaretThursday said!
Do your research, find out how much things are worth if you get them from a 3rd party (especially gap insurance, breakdown cover etc). If you're getting finance, get a loan pre-agreed elsewhere and show them that; they'll be desperate to beat that deal as they are incentivised on finance too (make sure you cancel the loan if you don't need it though!)
Everything is negotiable. Try and hold off until the end of the month if you can, they'll be more likely to go the extra mile if they only have a few days left to make their sales target for that month. The tip about the colour definitely works, as a rule never look delighted with what they have in stock, just act like it's not quite what you were looking for but you could be swayed for the right deal.
Ask for anything you can think of: footwell mats, extra inflator kit, de-icer, fuel, anything!
The last car we bought, we were there for 3h, I negociated 20% off the asking price, finance at practically no interest, a higher price for our trade in, gap insurance and breakdown cover for less than half of what they first offered, further reduction in the car price when they said they weren't allowed to give us the car tax for free, cleaning supplies, de-icer etc. At the end of it the poor salesman looked absolutely exhausted ; I asked for some mats and he said "if I give you the mats, do you promise that you'll finally buy this car?" 😂. I did.
DH was looking throughout the whole thing like he wanted the ground to swallow him up, but he was happy with the deal!