Some sort of two part epoxy is the only way to go. Best is a solvent based such as
www.ucoatit.com but the down side is the price. My father used an solvent based epoxy similar to ucoatit three years ago and the floor still looks good in the garage, it will scratch but tires won't peel it up or oils or road salt. It was some harsh stuff that he applied and he needed a resporator to do so.
You can also get "Epoxy Shield" by Rustoleum and Menards or Home Depot not to sure but I don't think that the "Epoxy Shield" Garage Floor paint is solvent based like the ucoatit but it will do the same thing and is much more user friendly.
The main thing to remember when you do this is that the floor MUST be very clean and dry. Another important thing is you have to "etch" the floor in most cases to alow the product to adhere properly.