I don't enjoy haggling, but I am very, very good at it.
First and foremost: Know what you want and what you can afford. Be realistic and get your down payment and credit in order before you start shopping. If you're trying to buy an "out of reach" car or are underwater on a current car, you cannot expect to get a good deal.
Dress nicely -- nice jeans and a sweater rather than athleti-leisure, nicely groomed hair, etc. Looking poor won't get you a good deal, but looking professional and put-together will convey the idea that you're intelligent, prepared, and probably have the money to make the deal happen. Salespeople will judge you and decide whether you're worth bothering with.
Go pick out your car, drive it, etc. ... but DO NOT talk money that day. Snap a picture of the VIN or the window sticker. When you're sure, go back ... but DO NOT drive that day. When you're driving the car, you think about how much you want it, and they're pumping you for information ... you can only lose. So separate the issues. Choose on Day 1. Bargain on Day 2. If your car gets sold, so what? Cars are not difficult to find, and if yours gets sold, it just wasn't meant to be.
Do your homework ahead of time and know the value of the car you're looking to buy. Know your out-the-door price; that is, the total cost of the car + taxes + tags. The REAL total cost. Car dealers are VERY GOOD at switching between sticker price and invoice price and total price and whatever else ... they do it all day, every day, and they are better at it than you. The only way you can win is to stick to your guns: "I want to discuss one number only. The total, out-the-door price." They will do everything they can go twist the conversation: Adding accessories, offering incentives, etc. I can't emphasize this enough: "I want to discuss only one number today: the total, out-the-door price." You aren't here to make friends.
Do not trade in an old car. Again, car dealers do this all day, every day -- and they will beat you every time ... if you allow them to discuss your trade and your new purchase at once. If you have a car to trade, sell it privately.
Do not talk about anything except the car. You have kids? I'm more interested in discussing the out-the-door price of the car. Do you have a lengthy commute? Let's talk about the total price of the car. I could show you this other model with more storage space. No, I want to discuss the total price on this car; no others. The salesman couldn't care less about your personal life; he is trying to talk you up or down to a different model, or he's starting to play emotional games about your children's safety, etc.
If you're looking at a new car (meaning, it's available lots of places), the dealer will absolutely say, "Go check everyone else's prices, then come back to me and I'll beat them." No. I'm only interested in the out-the-door price right here, right now.
Arrive at the dealership /car lot exactly 40 minutes before they close. They DO NOT want to see you leave; theirs is a cut-throat business, and if they let you walk away, they are unlikely to see you again. This puts THEM in the hot seat: They have to skip the "manager is mad at giving you this deal", or the leave-you-waiting type of games and go ahead and jump to real negotiations. 40 minutes is exactly enough to bargain with you BRIEFLY, then get your paperwork done.
Put your phone away. Paperwork too. Leave your kids at home. Be 100% accessible to the salesperson. Make it clear that you are here to make this happen, and it's the only thing about which you care at this moment.
Do not be afraid of silence. If the salesperson has thrown out a number, and you've answered ... do not be quick to fill the empty space. If the salesperson is allowing silence, he's hoping you'll fill it by caving /giving in. Answer once -- he heard your answer. Maintain eye contact with the salesperson. He will speak again.
Do not talk about going elsewhere or the cars available elsewhere. You've already decided you want THIS CAR, and you should not encourage the conversation towards anything except -- you know what I'm going to say -- I only want to talk about the out-the-door price of this car.
Incidentally, if they leave you sitting alone waiting ... do not talk to your significant other. Or, discuss nothing but the dinner you plan to eat later. I'm 100% certain they are listening in on you.
If they start playing games with you, be the non-emotional, your-schemes-amuse-me INTJ that you almost certainly are if you're reading this board. Give them "the look" ONCE and remind them that you are interested in only one topic: the out-the-door price (remember, you've already done all your homework; you know the fair price, you know about the warranty, etc. and do not want to rehash that in your limited 40 minutes). If they abandon their games, fine -- keep negotiating. If you were in their shoes, you'd try too.
If they persist in playing games, say, "I'm sorry we couldn't do business" and LEAVE. Straight to the door, no meandering as if you want them to beg you to return. GONE. I did this when I bought my current car, and as my husband and I were driving off the lot, the salesman literally ran out in front of our car and JUMPED ONTO OUR HOOD, saying, "Yes, we will give you your price. Come back in." We did.
Remember, they will win at games. All day, every day, better at it than you.
If you leave without buying, leave the salesperson's business card on the table. Look at it, sigh, and make eye contact with him as you set it down. This tells him, If you let me walk out, I will not be contacting you later. You deal with me now ... or never.
The salesman will want to discuss whether you're going to finance. Refuse to discuss that topic. Tell him you're still weighing your options, and the only thing you want to talk about today is the out-the-door price.
Can you tell I am excellent at focusing, even obsessing on a single thing?
If you intend to finance, consider doing it through your credit union -- their terms are almost always better than those at the dealership /car lot. Talk to them ahead of time so you'll know where you stand. If you do finance through the dealership, do not disclose that fact until after you have agreed upon the out-the-door price. Once that price is established, you can say, "Okay, now let's talk about financing."
Have a single blank check in your hand while you negotiate. Do not take in cash; too dangerous -- you don't know who's watching. At some point the salesperson's going to say, "If I take this deal to my manager, I have to show him you're serious -- write that check for $$$$." Do it. If the deal doesn't get made, you'll get it back. Anyway, you have another check in your pocket, if that one should turn out to be for the wrong amount.
Once you've agreed upon the price, don't let your guard down. Read all your paperwork. Be ready for them to try something sneaky. For example, once I bought a car and after we'd done the paperwork they "suddenly realized" that only one key existed. I told them that was absolutely not acceptable. Cars have at least two keys. I demanded that they make me a copy (I tried to get a copy of my Honda key made, and it was going to cost $250!). They refused, which I thought was silly -- it can't cost them all that much, but I'd negotiated hard, and they weren't thrilled with the deal. I said, "Okay, then this deal is off. Let's start the process of returning the car." My college daughter, who was to be the driver of this car didn't even blink -- smart kid that she is, she knew very good and well what I was doing. (You can return a car within a couple days, but it really screws over the car dealership -- what used to be a one-owner car is now a two-owner car, even if you never took it off the lot.) Suddenly making a key was possible. I just had to wait for the key to be made, which I found perfectly acceptable.
Finally, at all times conduct yourself in a polite, respectful, professional manner. Don't expect that they'll sell you the car without making some profit for themselves. If things don't work out, tell the salesperson -- honestly -- that you're sorry you just can't do business.
And good luck. As I said, I am GOOD at this, and this method has worked well for me.