for AV, I use Kaspersky.
Will also detect pretty much every other nasty trying to infest your machine.
To prevent spyware, common sense is often enough. Don't install software from sources you don't explicitly trust, and don't visit websites that are "shady" or worse.
Kaspersky will detect websites trying to run trojans and other nasties.