Preheat oven to 300 degrees. Season brisket with kosher salt and pepper on both sides and set aside (See note below - if possible, season brisket with salt 8-24 hours in advance and let sit in refrigerator).
Slice onions lengthwise, from root to stem.
In a large cast iron skillet, add olive oil and coat bottom of skillet. Heat on medium high heat until the oil is shimmering. Add onions and cook for about 10 minutes, stirring often. After about 10 minutes, sprinkle some salt and ½ tsp of sugar onto the onions, which will help caramelize the onions. When they begin to caramelize, remove onions from skillet.
Add canola oil to cast iron skillet and brown beef brisket on both sides on a medium-high heat. About 5 minutes on each side. Remove beef brisket from skillet.
Add garlic, beef broth, Liquid Smoke and Worcestershire sauce to cast iron skillet and stir well (or, you can use a large roasting pan if you don't want to cook the brisket in a cast iron skillet).
Place beef brisket in cast iron skillet fat side up. Top with onions.
Cover tightly with foil or a lid, and place into a 300-degree oven. Cook until brisket is 180-200°F and fork tender, approximately 40 minutes per pound.
Transfer beef brisket to a cutting board, slice against the grain, and serve.