Toss beef cubes with flour, salt, and black pepper.
Brown beef in olive oil over medium heat in a large pot, working in batches if needed; remove and set aside.
Sauté chopped onion and minced garlic in the same pot until soft.
Stir in tomato paste and cook briefly.
Deglaze pot with Guinness or beef broth, scraping up browned bits.
Add beef broth, browned beef, carrots, parsnips, thyme sprigs, and bay leaf.
Bring to a boil, reduce heat, cover, and simmer 1.5 to 2 hours until beef is fork-tender.
Boil potatoes until tender, then drain and mash with butter and milk or cream.
Sauté cabbage and green onions in a skillet until softened.
Fold sautéed cabbage and green onions into mashed potatoes and season with salt and pepper.
Serve the beef stew ladled over a generous scoop of colcannon mash.