Heat olive oil in a large heavy bottomed pot. Add onions and a good pinch of salt and sauté until soft and starting to brown. Add the garlic and cook until fragrant, about a minute.
Add the ground beef and brown, breaking up the meat with a wooden spoon until no longer pink.
Add the basil and oregano and mix to combine.
Put the whole tomatoes in a bowl and crush by hand. Add to the meat and onion mixture along with the tomato sauce, tomato paste, water and a generous pinch of sugar. Season with salt and pepper. Bring to a boil and then immediately turn down heat and simmer with a lid on for about 1 1/2 hours, stirring occasionally. (My mom's recipe says to simmer for hours, an hour and a half is plenty.)
Let cool and then refrigerate overnight. The sauce is always better the next day and now all you have to do is assemble the lasagna.
Drain the cottage cheese in a fine mesh sieve over the sink until most of the liquid has drained, stirring gently several times. Takes about an hour or two.
Preheat oven to 350º
In a 11 X 15 lasagna pan, ladle in some sauce to cover the bottom of the pan. Arrange 6 noodles, overlapping slightly, over the sauce in the bottom of the pan. Next, spoon half of the drained cottage cheese over the noodles. Sprinkle half the shredded mozzarella over the cottage cheese. Then generously spoon some sauce over the cheese.
Repeat with another 6 noodles, the remaining cottage cheese and follow with the remaining mozzarella. Generously spoon more sauce over this layer.
Top with 6 more noodles. Spoon sauce over entire top of lasagna noodles and also spoon some down the corners and edges. All the noodles should be covered.
Sprinkle with some grated parmesan and then cover pan with foil.
Bake for 45 minutes and then remove the foil and bake, uncovered, for another 15 minutes.
Let lasagna rest 10 minutes or so before serving. Enjoy.