This post may contain affiliate links. If you buy through links on this page, we may earn a commission at no extra cost to you.
As an Amazon Associate I earn from qualifying purchases.
Yes, you can put a raised bed on concrete, but the bed needs a drainage plan. Soil sitting in a box on a flat slab has nowhere for extra water to go. On open ground, water drains down through the soil and away. On concrete, it pools at the bottom of the bed, and roots sitting in that pool rot. A bed on concrete works when water can leave the bed, the soil is deep enough to hold moisture between waterings, and the frame sits a little above the slab so water is not trapped underneath.
We have not tested the products linked here, and we give no current store prices. The links below go to search pages for bed types, so you can compare current options, sizes, and prices at the time you shop.
The drainage problem
Concrete looks solid, but most patios and driveways are not perfectly flat. They slope slightly toward a drain or the yard, and low spots collect water. A raised bed placed over a low spot sits in a puddle after every rain. Before you set a bed down, pour a bucket of water on the slab and watch where it runs. If it ponds where the bed will sit, shift the bed a foot or two, or shim one side so the bed itself drains toward the downhill edge.
A bed on concrete also needs a bottom that lets water out. An open-bottom frame, the kind that works well on soil, does not drain on concrete, because the slab seals the bottom shut. A frame with a solid base and drainage holes, or a frame raised on feet with a slatted base, drains better. The holes need to stay open, so cover them with landscape fabric or fine mesh to keep soil from washing out while water passes through.

A worked example: one 4 by 8 foot bed on a patio
Take a bed 4 feet wide, 8 feet long, and 12 inches deep on a concrete patio. The soil volume is 4 times 8 times 1, or 32 cubic feet. That is about 1.2 cubic yards, or roughly 43 bags of 0.75 cubic foot bagged mix if you buy bags, with a little extra for settling. At 12 inches deep, most vegetables have room: lettuce and herbs use the top 6 inches, while carrots and tomatoes use more of the depth.
Now work out the drainage. Drill or buy a base with at least one drainage hole per square foot of base, which is 32 holes for this bed, each about half an inch across. That sounds like a lot, and it is the point: a few holes clog with soil fines in a season, while many holes keep draining even if some clog. Set the bed on short feet or bricks, at least 1 inch off the slab, so water leaving the holes can run out instead of sitting under the frame and rotting the boards.
Watering changes on concrete too. A slab stores heat through the day and gives it back at night, so soil in a bed on concrete dries faster than the same bed on soil, often by a day in hot weather. Check the top 2 inches of soil with a finger before watering. If it feels dry at that depth, water until it runs from the drainage holes, then stop. For frame and depth basics, see raised bed gardening for beginners and open-bottom vs closed-bottom raised beds.

Heat, stains, and weight
Concrete reflects heat back into the bed, which helps warm-season crops in spring but can stress lettuce and spinach in summer. A light mulch layer, 2 to 3 inches of straw or shredded leaves, slows surface drying and keeps the soil temperature steadier. Mulch also keeps soil from splashing onto the patio during watering.
Staining is a second patio problem. Soil and fertilizer water leaves brown marks on light concrete. A drip tray or a shallow catch basin under the bed catches the first runoff, but it must be emptied after watering or it becomes a mosquito tray. An easier habit: water slowly, in two passes, so the soil absorbs each pass instead of flushing through.
Weight matters on raised patios and decks, though a ground-level slab carries it without trouble. Wet soil weighs about 100 pounds per cubic foot, so the 32 cubic foot bed in the example weighs about 3,200 pounds when soaked. On a ground slab that load spreads over 32 square feet, or 100 pounds per square foot, which concrete handles. On a deck, check the deck load rating before you fill a bed this size.

What to check before you build
Check the slab slope with a bucket of water, as above. Check that you can reach a hose or a tap without dragging a hose across a walkway. Check the sun: a patio against a south wall gets reflected heat plus direct sun, which suits tomatoes and peppers but punishes cool-season greens in July.
To compare current options, search for raised garden beds for concrete patios and raised bed liner and landscape fabric. Compare base drainage first, then depth, then whether the frame can sit on feet or bricks. A bed with a drained base and a small air gap underneath will outlast a solid-bottom box sitting flat on the slab.

Questions
Do you need gravel in the bottom of a bed on concrete? A thin gravel layer does not fix drainage by itself, since water still has to leave the box. Holes in the base and a gap under the frame matter more. Gravel can help keep the drainage holes from clogging if a fabric layer sits above it.
Can you put a bed on concrete without a bottom at all? An open frame on concrete traps water against the slab, so it is a poor choice. If you already own an open frame, add a slatted base with fabric and feet before you fill it.