Peel and cube potatoes. Place in saucepan and cover with cold water. Bring to a boil over high heat. Reduce heat, cover, and simmer for 15-20 minutes until potatoes are tender when stabbed with a paring knife.
Meanwhile, cook bacon until crisp, turning often while cooking.
Remove bacon to paper towels to drain; crumble. Add olive oil to drippings remaining in saucepan. Add onion, garlic, and leeks and cook until crisp tender, about 3-5 minutes. Then add cabbage, cover, and cook for 6-10 minutes, stirring occasionally until cabbage is tender.
When potatoes are cooked, drain and shake over low heat for a few minutes to dry. Add butter; mash. Add milk, salt and pepper; beat until combined. Stir in bacon and cabbage/onion mixture.
Serve immediately, or place in serving dish and keep warm in 200 degrees F oven for up to 1 hour.