I have two favorite breath fresheners. Both are excellent.
For combating the strong effects of onions, garlic, etc., nothing I have found is as convenient and effective as "Sweet Breath Peppermint Drops." This is a liquid sold in small plastic vials that contain 1/8 fluid ounce of breath freshener. You take off the cap and squeeze a couple of drops on your tongue. Then swish it around in the mouth. You swallow, not spit. More convenient than a mouthwash. And the vials can be kept in the car, your desk, or wherever the need arises. I have never had a vial leak. Be sure and get the peppermint flavor.
The main drawback to Sweet Breath is that it is not subtle. It is hard to sneak a couple of drops on the sly. That is also the problem with aerosol sprays. That problem is addressed by my other favorite breath freshener.
Listerine sells a product they call "Listerine PocketPaks." I like the green ones, called "FreshBurst." The PocketPak is a small container of tissue-like pieces of paper(?) that dissolve in your mouth while releasing their breath freshening magic. They are effective. And the really neat thing is that you can sneak one into your mouth with undetected grace. That alone makes them worth the price. The other neat thing is that, because they are not liquid, you can carry them in your jeans pocket without fear of the liquid leaking.
Give these products a try.