How To Build A Garden Box On Concrete | Concrete-Safe Bed

You can set a raised garden box on concrete by lifting the frame slightly, keeping the bottom open, and using a fabric layer that lets water drain without losing soil.

A concrete patio can grow real food. The slab stays tidy, weeds can’t creep in from below, and you can place the bed right where the sun hits. The part that trips people up is drainage. Concrete won’t absorb excess water, so a bed that traps runoff can turn soggy, stain the slab, or both.

This build keeps things simple: an open-bottom frame, small feet under the corners, and a filter layer that holds soil while water drops through. You’ll also see when a wall liner makes sense and when it causes trouble.

Building a garden box on concrete with clean drainage

Think of the slab as a roof. Water needs a path out, and air needs a path in. If the bed sits flat on concrete, both paths get blocked. So the goal is a small air gap under the frame and a bottom layer that drains fast.

Pick a bed size that feels good to work in

Most people do best with a bed that’s 3 to 4 feet wide. You can reach the middle from either side without stepping into the soil. If the bed will sit against a wall, keep it closer to 2 feet wide so you can still plant and harvest from the front.

For height, 10 to 12 inches suits greens and herbs. For tomatoes, peppers, and similar plants, 12 to 18 inches gives roots more room. If you want extra height for comfort, stack boards and add an inside crosspiece so the long sides don’t bulge.

Check sun, slope, and water access

Concrete reflects heat. That can boost early growth, then dry the bed faster in hot months. Plan watering first. If you’ll run a hose, make sure it won’t cross a doorway or a path you use often.

Next, check slope. Many slabs tilt slightly so rain runs off. That’s fine, but your bed should sit level so water spreads through the soil instead of pooling in one corner. A level and a few shims solve this fast.

Materials and tools

You can build a sturdy bed with basic tools and exterior-rated screws. If you don’t own a saw, many lumber yards will cut boards to length.

Frame material options

Cedar and redwood resist rot and feel clean for food beds. Pressure-treated lumber costs less and lasts well outdoors, but pick modern residential treatments and seal cut ends. Avoid older treated boards from pre-2004 decks and play sets; they may use chromated copper arsenate (CCA). The U.S. Consumer Product Safety Commission explains how to identify and handle older CCA lumber in CCA-pressure treated wood guidance.

Composite boards and recycled plastic lumber can last a long time, yet they can flex, so plan extra bracing on long runs.

Bottom layer and feet

On concrete, the bottom details matter more than the wall material. You want:

  • Small feet that lift the frame off the slab
  • A filter layer that lets water pass and keeps soil in place
  • Optionally, a splash catcher if you’re guarding a finished patio surface

Woven geotextile fabric is a solid filter. It drains, it holds soil, and it resists tearing. University extension guidance often recommends geotextile when a raised bed sits over concrete; the University of Delaware notes this in its raised bed gardening fact sheet.

For feet, rubber paver pads, composite shims, or small squares of composite decking all work. Aim for a 1/4 to 1/2 inch air gap. That’s enough for drying and drainage while still feeling stable.

Tool list

  • Tape measure, pencil, square
  • Drill/driver and bits
  • Saw
  • Level and shims
  • Staple gun for fabric

Build the frame so it stays straight under soil pressure

A simple rectangle works, but long sides need help. Soil pushes outward, and wet soil pushes even harder. Bracing is what keeps the walls straight through seasons.

Cut a practical starter size

A common size is 4 feet by 8 feet. It’s roomy, it fits standard lumber lengths, and you can still reach across it. For a 12-inch-tall bed using 2×12 boards:

  • Two long boards cut to 96 inches
  • Two short boards cut to 45 inches (this lands near 48 inches outside width with 1.5-inch board thickness)
  • One inside brace cut to 45 inches

Assemble corners and add the inside brace

Pre-drill near the ends so boards don’t split. Use two or three exterior screws per corner, spaced apart. Then add an inside brace across the center. Set it midway down the wall or flush with the top edge. If you often lean on the rim while you weed, putting the brace near the top makes the bed feel stiffer.

If you’re stacking boards for extra height, stagger the seams at corners. That avoids one weak line running down the frame.

Seal cut ends

Cut ends soak up water. Brush on an end-grain sealer or exterior wood sealer. If you used pressure-treated lumber, sealing cut ends after each cut is a smart habit.

Set the bed on concrete and level it

Place the empty frame where it will live. Put a level on the top edge, then check both directions. If one corner is low, shim under that corner foot. If the slab slopes, you may need shims at all corners to keep the top edge flat.

Now plan extra contact points under long sides. For an 8-foot bed, add a foot at the midpoint of each long side. This stops sagging and keeps the air gap even. Mark the pad locations, lift the frame, set pads in place, then drop the frame back down.

Add the filter layer and keep the bottom open

Staple geotextile fabric to the inside walls so it spans the bottom opening like a hammock. Pull it snug, but don’t stretch it tight. Soil weight will settle it into place. This setup drains fast and keeps soil from washing out.

If you’re protecting a finished patio, place a thin tray or a line of rubber pavers under the first drip points. You can remove it later once runoff runs clear. Also mulch early; mulch cuts splash.

Material choices that work well on concrete

Choice Good fit Notes
Cedar Food beds, low fuss Rot-resistant; seal end grain; skip plastic lining
Redwood Food beds, dry areas Stable boards; higher cost in many regions
Modern pressure-treated lumber Outdoor beds on a budget Seal cut ends; add a wall liner only if you want extra separation
Untreated pine Short-term beds Coat outside faces; expect faster wear where boards stay damp
Metal panels Hot patios, quick warmup Add bracing; watch sharp edges; mulch to slow drying
Composite or recycled plastic lumber Low upkeep builds Add extra bracing on long sides to limit flex
Woven geotextile fabric Bottom filter layer Staple to inner walls; keep an air gap under the frame
Rubber pads or paver squares Feet under the frame Protects concrete; pairs well with shims for leveling

Fill with a soil mix that drains and holds moisture

A bed on concrete can dry faster at the edges and corners. A mix that drains well still needs organic matter so it doesn’t turn to dust between waterings. Use three parts:

  • Screened topsoil or garden soil
  • Compost
  • Aeration material like pine fines, rice hulls, or perlite

Avoid filling with straight compost. It can settle hard and shrink a lot over one season.

Fill in layers and water lightly

Add soil in 4 to 6 inch lifts and water each lift. This settles big air pockets without turning the bed into mud. Stop 1 to 2 inches below the top rim so water stays in the bed during a deep soak.

When a wall liner makes sense

If you’re using pressure-treated lumber and want a barrier between soil and the walls, line only the inside faces. Keep the liner above the bottom edge and leave drainage gaps near the base. Don’t cover the bottom. A full plastic tub effect is what causes soggy soil.

Planting and trellising

Concrete holds heat, so fruiting crops like tomatoes and peppers often do well. Greens also do great in spring and fall. In peak summer heat, a little shade cloth over the bed can reduce wilt and stop leaf scorch.

If you’ll use a trellis, anchor it to the bed frame, not the slab. A pair of sturdy posts inside the bed works. Tie the posts into the inside brace so vines don’t pull the walls outward.

Watering that keeps the slab cleaner

Drip irrigation is the cleanest option on concrete. It delivers water to the root zone and leaves less splash. A soaker hose also works if you bury it under mulch so it stays put.

Mulch is your friend here. A 1 to 2 inch layer of straw, shredded leaves, or bark fines slows drying, reduces splash, and keeps soil off the slab after rain.

Common problems and fast fixes

What you see Why it happens Fix
Soil stays wet for days Bottom is blocked or lined Re-open the bottom, switch to geotextile, restore the air gap
Muddy streaks on concrete Fine soil washing out early Mulch, water gently, use a temporary drip tray during the first week
One end dries faster Bed top edge isn’t level Shim the feet until the rim reads level in both directions
Walls bow outward No inside brace on long sides Add a brace, then pull the wall straight and screw it tight
Plants wilt each afternoon Heat reflection and low mulch Add mulch, water in the morning, add light shade on hot days
Screws show rust Fasteners aren’t exterior-rated Replace with coated or stainless exterior screws
Weeds pop up in the bed Wind-blown seeds Pull early, then keep a mulch cap to block light

Season checks that extend bed life

Each spring, tighten any loose screws and check corners for small gaps. If a corner opens, add a metal corner bracket inside the bed and drive fresh screws into solid wood.

Once or twice a year, peek under the bed. If grit stays wet under a pad, rinse it away and swap the pad for a harder one that doesn’t trap water. Keeping the air gap clear cuts staining and helps the frame dry after rain.

Final checklist before filling

  • Frame is square: diagonals match
  • Rim is level: both directions
  • Feet are set: corners plus midpoints on long sides
  • Air gap under frame: 1/4 to 1/2 inch
  • Geotextile is stapled to inner walls
  • Cut ends are sealed

After you fill and water the first few times, watch where runoff lands on the slab. If you spot a drip point that splashes, shift the tray or add mulch in that area. Small tweaks early keep the bed easy to live with.

References & Sources

Please use a real email you check. If it's fake or mistyped, your message won't reach us and we can't reply — wrong addresses are rejected automatically.