Heat a dutch oven to medium, add olive oil then onions and sauté 7 minutes then add garlic and sauté until soft and translucent, approximately 2 more minutes.
If using whole tomatoes you can quickly use your immersion blender to break them down or you can do it in the pan. Alternatively you can use one can of diced and one can of crushed tomatoes.
Once tomatoes have been added bring your mixture to a boil. Reduce heat and simmer uncovered for 1 hour until sauce has thickened. Using a wooden spoon break up any large tomatoes.
If using ground beef, brown meat in a large skillet and drain fat if needed.
After the sauce has finished simmering remove from heat and stir in basil, 3/4 tsp salt and 1/4 black pepper.
Reserve 1 1/2 cups of sauce for the top of the lasagna. Add cooked ground beef to the remaining tomato sauce and stir.
Heat ricotta in a small saucepan until warm, stir in mozzarella and continue to stir until melted. Remove from heat and add 1/4 tsp salt and 1/8 tsp white pepper.
Start with a tomato/meat layer, then noodles, half the ricotta, noodles, the remaining tomatoes/meat mixture, noodles remaining ricotta mixture, last layer of noodles and finally the reserved tomato sauce and sprinkle with parmesan cheese.
Lasagna can be made up to one day ahead of time and stored in the refrigerator until 1 hour before dinner.
Bake at 375 degrees for 20-30 minutes until bubbling or longer if lasagna has been refrigerated. Let stand 10 minutes before serving.