Pots of ideas for small-space gardening

, 25 April 2023
Pots of ideas for small-space gardening
David Ball

Plants that can grow happily in pavement cracks and other unlikely places are adapted to thrive in dry and challenging conditions, making them great choices for a low-maintenance garden – especially if you’re gardening in containers. Pots, tubs, hanging baskets and window boxes all need regular watering, so opting for drought-tolerant plants that cope well in drier conditions will save you time and effort as well as saving water – and you’ll be creating a fantastic resource for wildlife that looks good too. Here are some tips to help you get started:

Location, location

First things first – what conditions will your plants be growing in? A south-facing balcony might be in full sun for most of the day, so you’ll need to choose plants that don’t mind being baked by a summer heatwave, whereas a north-facing yard will be better suited to woodland plants that prefer dappled shade; and if you’re close to the coast, your plants will need to cope well with salty air and breezy conditions. There will be plenty of options no matter where you’re located but taking these factors into account will help maximise your gardening success.

Herb-Robert © Richard Cobden
Herb-Robert © Richard Cobden

What’s in the pot?

One advantage of growing in containers is that you can control the soil. You should always opt for peat-free compost (more info here) and this will be sufficient for most plants but if you want to get more experimental, you could mix in some top soil (which can help retain water), horse manure (for plants that love some extra nutrients), grit (for alpines), horticultural sand (for plants that need very free-draining soil) or even create some gravel-based containers to make a beach garden.

Make a mini meadow

This is a great option for a sunny spot. Chalk grassland plants thrive on very thin soils over a layer of porous chalk, so they are particularly drought tolerant, and a general-purpose native wildflower mix will happily grow in any kind of container. Seed can be sown in the autumn or in spring, the earlier the better – just prepare your pot, sprinkle your seed and you’re away!

Cowslips © Emma Chaplin
Cowslips on a shed roof © Emma Chaplin

Grow your own food

Growing in containers can provide a feast of pollen and nectar for wildlife – so why not grow something for yourself, too? Strawberries, herbs, kale, tomatoes and salad leaves will all thrive in containers. You can even grow small trees in large pots, so you could even harvest your own apples, pears, cherries or plums - just check the labels to see which varieties will thrive best in containers. Some of the best wildlife-friendly herbs are Rosemary, Common Sage, Wild Thyme, Chives, Common Mint, Wild Marjoram and Fennel.

Consider climbers

Climbing plants are great for small spaces and can quickly green up a fence, wall or railings. Try Clematis, Honeysuckle, Passion Flower, Ivy, Star Jasmine, Dog Rose or even Hops, which are the food plant of the Comma butterfly.

Just add water

Water is always a wildlife magnet, and containers make fantastic mini ponds! Even a small dish of water can be a lifeline for thirsty bees and other insects – add some pebbles to a saucer or shallow bowl to help them drink safely. How to make a container pond

Small ponds can be great for wildlife © Emma Chaplin

Recommended plants

Have a look at the Plants for Pollinators lists to choose the most beneficial plants for bees and other insects.

Top tips

  • Make sure you only use peat-free compost.
  • You can use anything you like for planting – how about recycling old watering cans, chimney pots, holey boots, paint tins, or tyres?
  • Cardboard toilet roll tubes make perfect starter pots for seedlings. When they’re ready, they can even be planted directly into the soil.
  • An upturned clear-plastic storage box makes a great mini greenhouse for nurturing seeds and seedlings.
  • Grow a range of different plants for year-round interest.
  • Avoid plants with double or multi-petalled flowers, which are not easily accessible for bees and other pollinators.
  • Never use pesticides.
  • Water your container plants using recycled grey water, collected after washing up or by placing a bowl in the sink when washing your hands.
  • If you have space, set up a water butt to collect a ready supply for your containers.
  • Feed your container plants with a suitable fertiliser once or twice a year to provide the nutrients they need to look their best.
  • Many plants are prolific self-seeders and will essentially grow themselves! If you start with one plant you’ll soon end up with lots more, so it’s a great budget-friendly option and an opportunity to swap seeds and self-seeded plants with like-minded gardeners.
Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1782913257.61310 [906] SELECT p.pagePath, pr.routePattern, pr.routeRegExp, p.pageTemplate, pr.routeOrder, s.settingValue AS siteOffline FROM swt_pages_staging p LEFT JOIN swt_page_routes pr ON p.pageID=pr.pageID LEFT JOIN swt_settings s ON s.settingID='siteOffline' UNION SELECT NULL AS pagePath, pr2.routePattern, pr2.routeRegExp, pr2.templatePath AS pageTemplate, pr2.routeOrder, NULL AS siteOffline FROM swt_page_routes pr2 WHERE templateID!=0 ORDER BY routeOrder ASC, pagePath ASC
1782913257.63960.0265Matched route: news/[slug:s]
1782913257.63980.0001Server address: 216.73.217.103
1782913257.63980Using master page: /templates/pages/blog/post.php
1782913257.63980Page arguments:
Array
(
    [0] => /news/pots-of-ideas-for-small-space-gardening
    [s] => pots-of-ideas-for-small-space-gardening
    [1] => pots-of-ideas-for-small-space-gardening
)
1782913257.64020.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782913257.64130.0012 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1782913257.64330.002 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1782913257.6440.0007INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1782913257.64620.0022 [1] SELECT * FROM swt_shop_cart WHERE cartID=22484852
1782913257.64680.0006 [1] SELECT * FROM swt_shop_cart WHERE cartID=22484852
1782913257.64740.0006 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-01 13:40:00' AND saleTo>'2026-07-01 13:40:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1782913257.64860.0012 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='pots-of-ideas-for-small-space-gardening')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-07-01 13:40:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1782913257.65130.0028 [1] SELECT FOUND_ROWS() AS `count`
1782913257.65190.0006 [1] SELECT * FROM swt_blog_posts WHERE postID=3054 AND postStatus='Published' AND postDateTime<='2026-07-01 13:40:00'
1782913257.65290.0009 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1782913257.65360.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1782913257.65420.0006 [1] SELECT * FROM swt_categories WHERE catID=181 LIMIT 1
1782913257.65490.0007 [1] SELECT * FROM swt_categories WHERE catID=42 LIMIT 1
1782913257.65580.0008Using template: /templates/blog/post.html
1782913257.6560.0003 [162] SELECT catID, catPath FROM swt_categories
1782913257.65710.001 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-01 13:40:00' AND postSlug='pots-of-ideas-for-small-space-gardening'
1782913257.67840.0214Using template: /templates/blog/post.html
1782913257.6790.0006 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1782913257.68080.0018Using template: /templates/pages/attributes/seo.html
1782913257.68110.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1782913257.6820.0009 [nil] SELECT * FROM ( SELECT idx.itemID, c.regionID, idx.pageID, c.itemJSON, idx2.indexValue as sortval FROM swt_content_index idx JOIN swt_content_items c ON idx.itemID=c.itemID AND idx.itemRev=c.itemRev AND idx.regionID=c.regionID JOIN swt_content_index idx2 ON idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev AND idx2.indexKey='_order' WHERE ((idx.regionID=104 AND idx.itemRev=0)) AND idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev ) as tbl GROUP BY itemID, pageID, itemJSON, sortval, regionID ORDER BY sortval ASC
1782913257.68320.0012 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782913257.68640.0032 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782913257.68710.0008 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782913257.68930.0022Using template: /templates/navigation/ps_nav_template.html
1782913257.68940.0001 [6] Using template: /templates/navigation/ps_nav_template_children.html
1782913257.69040.001 [4] Using template: /templates/navigation/ps_nav_template_children.html
1782913257.6910.0006 [29] Using template: /templates/navigation/ps_nav_template_children.html
1782913257.69370.0027 [10] Using template: /templates/navigation/ps_nav_template_children.html
1782913257.69480.0011 [7] Using template: /templates/navigation/ps_nav_template_children.html
1782913257.69560.0008 [9] Using template: /templates/navigation/ps_nav_template_children.html
1782913257.69820.0026 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1782913257.69930.0011 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1782913257.70150.0023 [1] Using template: /templates/navigation/breadcrumbs.html
1782913257.70210.0005Using template: /templates/blog/post.html
1782913257.70240.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='16' LIMIT 1
1782913257.70340.001Using template: /templates/blog/author.html
1782913257.70380.0004 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='pots-of-ideas-for-small-space-gardening')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-07-01 13:40:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1782913257.70610.0023 [1] SELECT FOUND_ROWS() AS `count`
1782913257.70670.0006 [1] Using template: /templates/blog/post.html
1782913257.70930.0026Using template: /templates/blog/comment_form.html
1782913257.71020.001 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=3054 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1782913257.77270.0625 [0] Using template: /templates/blog/comment.html
1782913257.7730.0002Using template: /templates/blog/post.html
1782913257.77330.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='16' LIMIT 1
1782913257.77430.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1782913257.7750.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1782913257.77580.0008 [7] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-002%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782913257.77810.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782913257.77870.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782913257.78080.002 [6] Using template: /templates/navigation/footer-nav.html
1782913257.78170.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782913257.78230.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782913257.78290.0006 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1782913257.78550.0026 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782913257.78620.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782913257.78840.0022 [10] Using template: /templates/navigation/footer-nav.html
1782913257.79190.0035 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1782913257.79270.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1782913257.79320.0005 [30] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-004%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782913257.79570.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782913257.79620.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782913257.79820.002 [29] Using template: /templates/navigation/footer-nav.html
1782913257.80090.0028 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782913257.80190.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782913257.80260.0006 [11] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782913257.8050.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782913257.80560.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782913257.80770.0021 [10] Using template: /templates/navigation/footer-nav.html
1782913257.80890.0012Request time: 0.1987
1782913257.80890Process time: 0.1985
1782913257.80890Memory: 1.6512