Put the butter and onion in a 10-inch skillet and place over medium high heat. Sauté until the onion turns to a rich golden color, about 5 minutes. Add the tomatoes, season with salt and pepper, and cook until the tomatoes are no longer watery, 10 to 15 minutes. Add the basil, cook for another minute and remove from the heat. Transfer the contents of the pan to a mixing bowl. Add the mozzarella and ricotta to the tomatoes and mix well.
Preheat the oven to 450°.
Roll out the pasta dough as thinly as possible and cut it into 3-inch by 4-inch rectangles.
Fill a pot for the pasta with about 6quarts of water, cover, and place over high heat. Place a large bowl filled with cold water, ice and a sprinkling of salt near the stove. When the water boils, add 2tablespoons salt and slide in as many rectangles of pasta as will comfortably float in the water. Cook until very al dente, about 30 seconds, then lift out the pasta and place it in the bowl of ice water. Once all the rectangles are cooked, take them out of the ice water, place them on dry towels and pat them dry.
Spread a thin layer of the tomato and cheese filling over each rectangle leaving about ¼-inch border. Roll up the cannelloni in jellyroll fashion starting from the wide side of the rectangle.
Smear the bottom of a baking dish with some béchamel and arrange the cannelloni in the dish in a single layer (if necessary use two baking dishes). Spread the remaining béchamel over the cannelloni, making sure all the exposed pasta is well coated. Sprinkle the grated Parmigiano-Reggiano on top and bake in the oven until the top forms a light golden crust 12 to 15 minutes. Remove from the oven and allow to rest for 5 minutes before serving.