I've heard about hanging banana peels in your plants to ward 'em off, but that seems to me like it would just invite a host of other, larger and possibly much more detrimental pests to the garden (think raccoons, rats, more filthy feral cats).
The only solution I have found that absolutely works is ladybugs. I haven't used them yet this year, because I was hopeful at the start of the season that it wouldn't be needed, but hot damn. My garden is under seige and I need to get some ladybugs stat! My artichokes seems to be a catch crop for the aphids.
Which would be fine, if I didn't love my chokes more than most of the other plants. Also, if it hadn't spiraled out of control seemingly overnight. The chokes in last year's garden were under an attack almost as vicious, but once I released my swarm of ladybugs, they had it under control in a day or 2.
Of course, then you have to deal with a sort of ladybug graveyard once all is said and done, but I don't stress on it. They lived a happy happy life in my garden, gorging on aphids and then hopefully laying eggs to repopulate my favourite aphid-assassin species. If you are going to use ladybugs to control your aphid or other pest problem, it is a good idea to become familiar with the ladybug life cycle. Eggs are laid on the underside of your plants, and the larvae look nothing like adult ladybugs. Even so, they can eat hundreds of aphids at that stage, so you want to make sure you know what they look like and aren't accidentally destroying these good guys.