g1smd - 7:58 pm on Apr 23, 2011 (gmt 0)
The 301 redirect is the way to go. This forces the URL in the users browser address bar to be "right", and this limits the amount of new links appearing that point to "wrong" URLs.
The canonical tag is less reliable. In particular, user's browsers will continue to show incorrect URLs and you may still gain more new links to the "wrong" URL.