Heat a large pan over medium high heat. Add olive oil.
Cook onion and garlic for 5 minutes.
Add tomatoes and simmer for about an hour.
Adjust seasoning.
Bring a large pot of well salted water to a boil.
Cook pasta for 2 minutes.
Whisk cheese and butter into sauce.
Simmer for 5 minutes and serve with linguine.