Measure the length and wide of your fixed cushion. Cut 2-inch thick foam to this size using an electric carving knife.
Place the foam over the cushion lining up the sides carefully. Cut quilt batting twice the size of the cushion. Center the batting over the foam. Tuck the back corners into the gap between the seat back and seat base. Hold the batting flush to the seat base cushion and apply fabric tape half on the edge of the batting and half on the cushion. Press the tape firmly to the fabrics.
Stretch the batting across the top of the cushion and down the front. Cut the batting 1-inch above the bottom edge of the cushion. Tape the batting to the front of the cushion with fabric tape. Fold the corners. Cut the batting 1-inch above the bottom edge of the cushion on each side and tape.
Thread an upholstery needle with heavy duty thread. Fabric tape will peel off under constant use of the sofa. The tape helps to hold the batting in place but needs to be secured with stitching. Sew along the back using an over cast or over stitch that picks up the fabric tape, the batting and the underlying fabric of the cushion. Sew around the entire cushion. Repeat for additional cushions. This repairs the sag issue.
Measure the length of the cushion and add 1 inch. Measure the width and add 1 inch. Cut out one piece of upholstery fabric at this size. Measure the height of the side of the cushion. Add 3 inches for seams and tuck. Cut two pieces using the length and height measurements. Cut two pieces using the width and height measurements.
Sew one length to one width, face sides together along the short end. Sew the next length to the width end. Finish by sewing the last width to each length end to create a circle. Iron your seams. Fold the bottom edge to the back 1 inch. Insert a 1/4-inch cord starting in the center of one length. Allow the end of the cord to hang out 4 inches. Tuck the cord into the fold.
Pin and sew a seam 1/4 inch from the cord so that the cord will be in a pocket. Sew all around the perimeter until you are 1 inch from the beginning. Cut your cord so that both ends are even. Slide a cord stop onto both cords and knot each end. The cord side is the bottom of the cover.
Place the side cover and the top cover face sides together. Align the corners. Pin and sew the covers together using a 1/2-inch seam allowance. Clip the corner fabric in the seam allowance at a 45-degree angle to reduce fabric bulk. Turn the cover right side out. Position the cover over the seat cushion with the cord stops to the back. Pull on the cords to tighten the cord. This will force the cord edge between the bottom edge of the cushion and where it attaches to the sofa.