1. Finely chop the onion and garlic.
2. Peel the tomatoes (to make this process easy, detach the stems and then cut a very shallow X on the opposite the stem side of each tomato. Then drop them into the boiling water and leave there for 30 seconds. Remove the tomatoes and when they are cool, peel the skin off with your hands). Grate them.
3. In a large skillet heat 2 tablespoons olive oil over medium-high heat. Saute onion for about 3 minutes. Add beef and cook for about 10 minutes (until there is no remaining pink color).
4. Season the beef with salt, pepper and Italian seasoning. Add the tomatoes and cook for another 5 minutes. Add garlic and turn off the heat.
5. Meanwhile, bring a large pot of salted water to boil, add lasagna noodles and bring water to boil again. Cook until noodles are al dente (about 5 minutes). Rinse with cold water and remove excess water with a paper towel.
6. In a saucepan, melt butter over medium heat. Stir in the flour. When the mixture is well blended, add milk, a small amount at a time, stirring well to prevent lumps. Season the milk sauce with salt and pepper.
7. Add 2/3 of milk sauce to the beef mixture, leave the rest in the sauce pan.
8. Preheat oven to 350 degrees F (175 degrees C).
9. Place a thin layer of beef and milk sauce mixture in the bottom of a baking dish. Add a layer of noodles lengthwise (You may have to cut them to fit the shape of the dish).
10. Add another layer of sauce. Sprinkle a generous amount of cheese over it. Top the cheese with a layer of noodles. Continue this step until you run out of room in the baking dish or out of ingredients. Make sure you have a layer with noodles on the top. And also leave a small amount of cheese.
11. Spread the rest of the milk sauce over the noodles. Sprinkle with cheese.
12. Cover the lasagna with foil and bake for 45min. Remove the foil and bake for another few minutes.
13. Let the lasagna stand for about 10-15 minutes to firm up. Cut into portions and serve.