DIY Tufted French Mattress Cushion {Ballard Catalog Knockoff}

DIY Tufted French Mattress Cushion - An Oregon Cottage

I’m SO excited to finally be able to share this tufted French mattress cushion I made with you, because it’s been 2 years in the making. Yes, really. It was in the plan back when we completed our French-style bench out of a pair of broken chairs (because that was inspired by this Ballard Designs bench with a similar cushion) and it’s been sitting half-completed in my workroom ever since. Like many other things I put off, by the time I actually get to it, I can’t believe I didn’t get it done sooner – it literally took only a couple of hours.

Not only that, it’s not hard, requiring only straight stitch machine sewing and basic running stitch hand sewing. I made sure to take pictures along the way so I would be able to show you how to make one too, and I’m passing on a few tips and tricks I learned to hopefully make it even easier for you!

DIY Tufted French Mattress Cushion on Reclaimed Bench - An Oregon Cottage

How to make a Tufted French Mattress Cushion

What you’ll need:

  • 2-1/2″ to 3″ thick foam cut to desired size
  • batting to completely cover foam piece
  • Sturdy fabric to cover top, bottom & sides of foam (I used a piece of drop cloth, but about 1 yard of upholstery-weight fabric will cover most chair cushions and 1-1/2 yards for bench-sized cushions)
  • pins, thread (regular and quilting or button weight), needle, sewing machine
  • optional: disappearing ink fabric marker, small buttons

DIY Tufted French Mattress Cushion-Cutting Fabric - An Oregon Cottage

1. Measure your foam and make a pattern out of newspaper – top and sides. Lay it on your fabric, pin it so that it doesn’t move, and then use a ruler to mark an inch  beyond the pattern, all the way around. This extra gives the room you’ll need to pinch together and sew for the mattress edge. For the cushion sides, only mark 1/2-inch where the side corner pieces come together, but for long sides at the top and bottom edges, leave the 1-inch seam.

2.  Cut out all pieces on marks.

DIY Tufted French Mattress Cushion-Sewing Cushion - An Oregon Cottage

3. Sew side corner seams with a 1/2-inch seam allowance.

4. Pin sewn side piece to bottom piece, easing around corners.

5. Sew the side-to-bottom seam with a 1/2-inch seam allowance (the extra we left will be for the hand-sewn edges) all the way around.

6. Repeat steps 4 & 5 for cushion top piece, except leave a wide opening to insert your foam. A trick I use to help me remember to stop sewing is to use two pins next to each other as a visual reminder (yes, I learned this the hard way – too many times, actually!). You’ll also want to bar-tack (sew back-and-forth a couple times) to lock both sides of the opening, since a lot of pressure will on those areas when you’re inserting the foam.

7. Make sure to check each corner before inserting your foam for creases or pleats. Just remove a few stitches and re-sew to make smooth corners.

DIY Tufted French Mattress Cushion-Covering Foam - An Oregon Cottage

8. Cover the foam piece with batting.

9.  Fold the batting at the ends like wrapping a present and slip stitch it closed. There’s no need to sew where the batting overlaps length-wise, just sewing the ends will keep it in place.

10. Insert the batting-covered foam into your cushion cover (folding foam as needed to get that baby in there!), fold the raw edges of the opening under to match the 1/2-inch seam and pin closed.

11. Sew opening closed with a simple slip stitch or running stitch.

DIY Tufted French Mattress Cushion-Creating French Mattress Edge - An Oregon Cottage

12. Now it’s time to create the ‘mattress’ look for the cushion: Thread a long needle with a sturdy quilting or button thread, knot the end and insert needle into the seam at your starting point on one of the bottom edges – then pull to make your knot pop into the seam so it disappears. Now start sewing by grabbing about an inch of fabric and batting at the edge and sew at the base (mine is about 1/2″ from the sewn edge) using a 1/4″ running stitch.

13. Continue hand sewing the running stitch all around the top edge, rethreading and hiding your knots as you need, and the bottom edge.

14. I’m including a couple of pictures above to show how I hide starting and end knots when hand sewing: bring your needle up to the top of the seam from the running stitch and create the knot where the fabric comes together in the seam.

15. After making your ending knot, send your needle back through the seam and a bit of a way down into your side fabric. Pull your thread so it’s a bit tight and then snip – the end will ease back into your foam and you won’t see it or the finishing knot.

French Mattress Cushion Tutorial-Imperfect Hand Sewn Edge - An Oregon Cottage

As you can see, you don’t need to worry about imperfections in your hand sewing – crooked stitches, different lengths, and such – it’s just part of the charm of this type of cushion – ha, at least that’s what I’m telling myself!

DIY Tufted French Mattress Cushion-Creating the Tufting - An Oregon Cottage

16. Creating the tufted top – I’m not gonna lie, this is the toughest part of this project! And really, you don’t have to do it – I thought it looked fine with a plain top, but the tufting does add the mattress look we’re after, so it is a nice finishing touch. Start by marking where your tufts should be using a disappearing ink fabric marker (or light pencil mark – you really won’t see it after the tufting) on the top and bottom of the cushion. For reference, my cushion is 38″ x 16″ and I marked 8 tufts by dividing the length by 5 (to get 4 equally spaced tufts along the length) and marking 5″ in from the sides.

17. Use a heavy-duty button and upholstery thread if you have it, ’cause there’s a lot of pressure on the tufts and you want them to last as long as possible. Even with the thick thread, I still double-threaded the needle for even more strength.

18. Starting from the bottom of the cushion, insert your needle at your mark and, squeezing the cushion as much as possible, bring the needle through the foam, batting and fabric to your mark on the top, leaving a long tail of thread on the bottom. Re-insert the needle close to where it came up through the top (optional: you can use a small button here to create a button-style tufting) and go back through the foam, batting and fabric, squeezing again as you go, and pull the needle out close to where the starting thread is. Tie the thread ends together semi-tightly (not too tight as to tear the fabric over time, but not too lose or the tufting won’t be distinct) and clip the thread, leaving about 1/4-inch ends that will be visible on the bottom of the cushion.

19. Like I mentioned, this is hard – pulling the needle through 3″ thick foam and hitting my marks was way more difficult than I expected and I found two things that made it a bit easier:

  • Using a leather thimble on my thumb allowed me to be able to push the end of the needle hard while pulling from the other side.
  • Using my knee to hold down the foam when I was at the tying stage (this eased the pressure on the thread making it a breeze to tie without having to hold down the foam, too).

20. Repeat with all your marked areas until the tufting is complete.

DIY Tufted French Mattress Cushion and Salvaged Bench - An Oregon Cottage

Then sit back and enjoy your sweet tufted French mattress cushion! Since I’ve seen similar cushions in catalogs for upwards of $129 (really!) I think this 2-3 hour diy project is totally worth it, don’t you?


I’m sharing at That DIY PartyThe Inspiration Exchange, Fabulously Creative Friday and The Inspiration Gallery.



  1. Amy says

    My dad made the mostly same bench with the same chairs that I gave him to dink around with in his wood shop. (Duncan Phyfe right?) Now I’m going to steal it :) Amazing how the paint alone changes it. Thanks for the great tutorial. I’ve pinned it so when I have time in two years… .

  2. Pat says

    Lol, I was busy looking for your version! I thought the top of the page one was from a catalogue! That should tell you how fantastic it turned out. I totally love this.

  3. Patti-Ann says

    Wow! Great job and terrific pictures. After first look I thought you used binding cord on the edges. Obviously I have never seen a french tufted mattress before :) I have a hope chest that is begging for a cushion. I think this is the answer. Thanks so much for sharing.

  4. christine says

    Amazing job I love it and everything you do beautiful did you make the pillows to I agree looks like a cover of magazine I told you a long time ago you need a store thanks from Rocklin Calif

  5. Krista P. says

    That is one fine looking cushion! I never saw a finish on the edges like that before but it makes perfect sense and I will be doing this soon. Thanks for the instructions.

  6. Rhissanna says

    I love the pinched edges. it looks much more achievable(and less formal) than piping. So now I’m on the lookout for two matching/ wobbly french chairs. I so want this for my 18th century bedroom to echo the curves of the sleigh bed (I haven’t bought yet… :) ) I have to ask, how did you do your floor? It looks wonderful!

  7. Sarah says

    Amazing! Doesn’t matter what type of batting is used? Foam? I want it to have that soft custom (like down feather inserts in pillows vs. foam) feel to it and not a hard, stiff I-made-this-myself feel. Do you know what I mean?


    • says

      I think I do, Sarah – but even with down you’ll need a center core or some way to keep it in place, right? For other cushions I’ve made with feathers, I’ve used pillows on top of foam cores. But of course you can experiment with whatever you want to use – that’s one of the benefits of DIY :)

  8. Leslie says

    Thank you for this tutorial! Beautiful work!

    I am having trouble attaching the sides to the top and bottom since the pieces aren’t the same length. What am I missing? Please help if you have time.


    • says

      They shouldn’t be too much different, Leslie. I always match up the corners of the sides to the corners of the top/bottom pieces, pin, and then pull to make the parts in-between the pins fit, pinning as I go. If there’s just to much fabric to ease together, go ahead and take larger seams in the side pieces (if the sides are longer). If the sides are long enough (I don’t know where you’re having trouble), they need to be made long enough to fit around. Sorry, it’s hard without knowing your exact issue. :( Hope this helps some!

      • Elisabeth Waller says

        Thanks so much for this tutorial!!! Your bench is so beautiful!

        I’m having the same issue! Step 1 says to make the largest top and bottom pieces 1 inch larger all the way around, but to make the smaller, side pieces only 1/2 in longer on either short end.

        First question, don’t I need to also add 1/2 inch seam allowance to sew all the pieces together? The one inch is just to make the finishing outside pinched seam that runs along the top and bottom, right?

        So in my own case my bench measures 13.25 x 42.25. Just adding the one inch, I need to make the large top & bottom pieces 15.25 x 44.25. But then the smaller side pieces would only be 14.25 long if I only add a 1/2 in allowance to the length on either side–the longer side pieces would only be 43.25 long. Is this correct?

        • says

          Sorry for the confusion, Elisabeth! I mean that ALL the edges where the side pieces meet the top/bottom pieces should be cut 1-inch larger (leaving 1/2″ seam allowance AND 1/2 inch for pinching edges), BUT that the side corners only need the regular 1/2″ seam allowance, since they don’t need extra. Does that clarify more?

  9. Pamela says

    Thank You soon much for this wonderful “Lesson”! I have been wanting to make this cushion but really didn’t know where to begin. YOU have now made it possible! THANK YOU for taking the time!


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>