It sounds like the different controllers is the right way to go for your top menu given that you've stated each controller would be working with different model objects (which I take to mean different logical divisions). It makes sense to break logical chunks of your database/models into separate controllers.
As far as the left navigation menu, you could simply use different actions on the controller to service that section where it makes sense. Just think of actions as exactly that... actions.
You could think of StackOverflow itself as following a similar pattern, where there are 5 (or so) controllers along the top of the page, and then there are actions on those controllers. For example the "users" controller has actions for registering a new account, viewing user details, searching for existing users, etc. This is a common pattern in the ASP.NET MVC sites I've seen, and ASP.NET MVC itself is geared toward this type of a scenario.
I'm not really sure there's much else to say, but if you have more specific questions, feel free to post them. I think you're on the right track, though. Good luck.