Domain Redirection (Best Practices)?

Imagine that our primary domain name is widgets.com. Imagine then that we also own steelwidgets.com and plasticwidgets.com, and point them both through A records back to the same IP address as widgets.com.

This is detrimental though, in that searching Google for widgets, results from all three domain names show up, likely hurting our SEO.

What is the best possible solution to redirect these to widgets.com?

Currently, I have 301 redirects set up on the widgets.com home page, but if the person visits plasticwidgets.com/company.aspx they are not redirected to widgets.com/company.aspx. Sure, I could set up 301 redirects on every single page of the web site but this is, of course, not ideal. I have explored using CNAME records to accomplish this, but I cannot seem to add a blank CNAME record, only a WWW CNAME record. This works if someone visits www.plasticwidgets.com, but not if they visit plasticwidgets.com without the WWW.

UPDATE: For anyone searching the forum, here is a piece of code (Classic ASP) I wrote quick that works great. This way, a user hitting "plasticwidgets.com/company.asp" will be properly redirected with a 301 to "widgets.com/company.asp"

So in IIS, I created a new web site that "plasticwidgets.com" and "steelwidgets.com" point to. I set the 404 page to "default.asp", and put the code below in "default.asp"