In a large skillet over medium-high heat, brown the ground beef until fully cooked. Drain any excess fat.
Add the diced onion and cook for 4-5 minutes until the onion has softened.
Add the tomato paste and stir until evenly combined.
Transfer the beef and onion mixture to the slow cooker. Add the garlic, carrots, celery, beef stock, Worcestershire sauce and Italian seasoning to the slow cooker and stir to combine. Add in the salt and pepper.
Cover and cook on low for 6-7 hours or on high for 3-4 hours, until the flavors are well combined and the vegetables are tender.
About 1 hour before the meat mixture is finished cooking, prepare the potatoes. Peel and dice the potatoes into even pieces. Place in a large pot and add water to cover the potatoes. Season with salt.
Cook the potatoes over high heat until they are tender and can be easily cut with a knife.
Remove the potatoes from the water and into a large bowl. Add in the butter and mash the potatoes until they are smooth and even in consistency. Season with salt.
About 30 minutes before serving, add the frozen peas and corn in the meat mixture and stir together. Take this time to try the mixture and add in salt and pepper to your preference.
Sprinkle the flour over the mixture in the slow cooker and stir well to combine. This will help thicken the sauce as it cooks.
Spread the prepared mashed potatoes evenly over the top of the beef mixture in the slow cooker followed by the shredded cheddar cheese.
Cover and cook on low for an additional 10-15 minutes, or until the mashed potatoes are heated through and the cheese is melted. Garnish with fresh chopped parsley and serve hot.