I have worked for many years in the automobile industry doing loans and working with dealerships, and you can get a good deal. It takes some time and hard work, but basically the dealership wants your business. You just have to figure out what the bottom line is, and it takes some education and negotiating skills.
First, you really should determine what car you want exactly. Test drive all the cars that you are considering. When you have found "the one," find out what you should expect to pay for it. If you have a car to trade, find out what the trade value of that car is. If you will be financing the vehicle, you will also want to contact a bank / credit union or two to find out what their interest rate would be on that type of car. With that information in hand, check out all the dealerships in your area to determine which dealerships have the car you want in the color you want with the options you want. There may be one dealer or several. Go down to that dealership advertising the best price for that car and drive it. Do not dispute how much down payment you have, what kind of payment you want, or whether you have a trade or not. If that car is acceptable, the negotiation begins.
You are trying to get to a price as low as possible, understanding that they will not go below what they have invested in the car, which is probably something a little more than the trade value of the car. When I buy a car, I usually aim for a price somewhere between average retail and average trade value. If it is an especially clean car with very low miles, you may have to pay full retail, but it is probably worth it! The physical appearance of a car can and does reflect how much an owner took care of their car!
If possible, ask that you talk to the decision maker. The salesman may or may not be allowed to negotiate the price of the car. If you are able to talk to the sales manager, they are less likely to play the negotiating game and are probably more eager to get to the "bottom line" than the salesman, who gets paid probably based on how much he sells that car for.
Once you have negotiated a fair price for the car you are buying and your trade, your job is not over! Now you have to talk to the "finance manager" who's job it is to help you get a loan. Many times they will be able to get a great interest rate for you, but they may also be getting a spread, so negotiate the interest rate as well. If he just can not beat the bank's rate, do not be afraid to tell him you'll come back with a cashier's check from your bank. Also, if you do the financing at the dealership, BEWARE of the fine print. I'm not saying you need to read every word of the contract, but do pay attention to what each form is for, be aware of any information the dealership has filled in, and DO not be afraid to ask questions if you of uncertainty of something! I really hope this helps. Good luck