Seems to work in the current chrome 39.0.2171.71 (64-bit) and safari (I only tested this on a mac).
This seems to remove the default styling added to the select input (it also removed the drop down arrow), but allows you to then use your own styling without chrome overriding it.
I have a little trick for your problem. But for that you must use javascript. If you detected that the browser is Chrome insert "dummy" options between every options. Give a new class for those "dummy" options and make them disabled. The height of "dummy" options you can define with font-size property.
Not padding but if your goal is to simply make it larger, you can increase the font-size. And using it with font-size-adjust reduces the font-size back to normal on select and not on options, so it ends up making the option larger.
Not sure if it works on all browsers, or will keep working in current.
If you just want to indent random, arbitrary <option /> elements, you can use , which has the greatest cross-browser compatibility of the solutions posted here...
Unfortunately, only one <optgroup /> level is allowed and currently supported by browsers today. (Source: w3.org.) Personally, I would consider that part of the spec broken, but you can always extend to third, fourth, etc., levels of indentation with using the trick up above.
For vertical padding you can use line-height.
If you don't need border, you can specify border and make it the same color as the select element background, it will give you padding appearance.
box-shadow can be used to add stroke to the element if really needed.