Remove the old cushion covers carefully. You will use the old covers as a pattern.
Mark the cushions and cushion covers with corresponding numbers or letters as you remove each cover. Your cushions may look the same size, but there may be subtle shape variations that will cause a cover for one cushion to not fit properly on another cushion.
Inspect the cushion for signs of damage or wear. Replace the cushions with a new foam pad. Cut to size if necessary.
Attach stuffing to the cushion to add padding to if needed. Quilted padding on a roll works well for this. You can sew it or you can glue it down. Make sure that you will still be able to fit the cushion and padding into the new sofa cushion cover.
Use a seam ripper to take the old cushion cover apart at the seams. Pay attention to how it was folded and assembled. This will help you fold and assemble your new cushion cover. Keep the zipper from the cushion cover.
Lay the new fabric face down on your work surface. Place the pattern fabric from the old cushion cover face down on top of the new fabric.
Trace around the edges of the pattern fabric using chalk.
Remove the pattern fabric from the new fabric.
Cut along the chalk lines using sharp scissors.
Add piping to the outer edges of the cushion if desired. Tack the piping using straight pins. The piping should face the front side of the fabric. The ends of the piping should extend past the edge of the cut fabric.
Fold and assemble the new fabric with the back of the fabric facing out so it makes the cushion shape. This should be folded and assembled the same way as the old cushion cover when you took it apart. Sew the sides of the cushion cover. Leave open a seam for the zipper.
Sew the zipper onto the side of the cushion cover.
Turn the cushion cover right side out.
Slip the cushion into the cushion cover. Zip the cushion cover.