Heat the canola oil in a large high-sided saute pan or saucepan over high heat until it begins to shimmer. Add the onions, garlic and tomatoes with the juice. Mash the tomatoes with a potato masher in the pan and bring to a boil. Reduce the heat to a simmer and cook until the tomatoes begin to soften, about 20 minutes.
Meanwhile, bring a large pot of water to a boil, add the penne and 2 tablespoons salt and cook until al dente, 8 to 10 minutes. Reserve 1 cup of the pasta water. Drain the pasta.
Mash the tomatoes again until coarsely chopped. Add 1/4 to 1/2 cup of pasta water to thin out the sauce and continue to cook, stirring occasionally, until thickened, about 20 minutes; season with salt and pepper. Thin with additional pasta water if necessary.
Transfer the pasta to the sauce; season with salt and pepper. Add some of the Parmigiano-Reggiano to the pan and combine. Cook the pasta in the sauce for 1 to 2 minutes, adding more grated cheese as the pasta cooks. Add some of the basil and parsley and the chile flakes and then drizzle with olive oil. Season with salt and pepper.
Transfer the pasta to a large shallow serving dish and top with freshly grated cheese. Top with the ricotta and drizzle with 2 tablespoons olive oil. Garnish with the remaining basil and parsley; serve immediately.