ASP.NET MVC is a web application framework that follows the model-view-controller (MVC) pattern. The framework consists of controllers that handle user input and interaction, models that represent application data, and views that display the application's UI. Controllers retrieve data from models and pass it to views to render. Routing maps incoming browser requests to particular controller actions. Views are responsible for presentation and formatting, while controllers handle user interaction and access models and views.