Heat the canola oil in a large Dutch oven over medium heat. Add the beef cubes and sear until browned, about 6-8 minutes. Transfer the beef to a plate.
Add the chopped onion and minced garlic to the pot, sautéing until the onion is soft and fragrant, about 4 minutes.
Return the beef to the pot and mix in the chopped carrots, diced celery, cubed potato, and green beans. Cook for another 5 minutes.
Pour in the crushed tomatoes and beef stock. Add dried basil, rosemary, bay leaf, salt, and pepper. Stir well.
Bring the stew to a gentle boil, then reduce to low heat. Cover and let it simmer for 1 to 1.5 hours, until the beef is fork-tender.
If using kale, fold it in during the last 10 minutes of cooking. Remove the bay leaf before serving.