The code looks fine, Django 1.3 and 1.4 auth.views.login uses RequestContext correctly. Please check:
Firstly clear data of browser and try again
What's the value of submitted csrfmiddlewaretoken
Do you import correct Django?
Just make sure, is there UserWarning in console like?: "A {% csrf_token %} was used in a template, but the context did not provide the value. This is usually caused by not using RequestContext."