"Quilting" cottons work well for this project. I used two cottons - a black with dancing skeletons for the outside and a beige bones/skeleton print for the lining. I had about a yard of each fabric and made two bags. You will also need about 12" of 1/4" elastic and a shank button for each bag.
First step is to cut the fabric to the measurements shown in the photo below. I made a pattern out of graph paper; you could measure and mark if you prefer. Cut one of the main fabric and one of the lining fabric. Note the bottom is on the fold - don't cut there.
Next, cut the fabric for the handles. Cut two of the main fabric. Again, note the fold.
To make the handles, you first need to heat up the iron for some pressing. Start by folding the handle fabric in half lengthwise, wrong sides together. Press. Unfold.
Fold each edge in to meet the middle crease, wrong sides together. Press.
Fold the fabric in half lengthwise along the middle crease. Press.
Repeat for the other handle. Now it's time for some sewing!
Topstitch along the length of the handle. Stitches should be fairly close to the edge of the fabric. I used the presser foot as a guide, aligning the edge of the fabric with the edge of the foot. Repeat along the other long edge. Repeat for the other handle.
Your handles now have a line of topstitching along both long edges.
Pin the handles to the main fabric. With the right side of the fabric facing up, measure in about 3" from the side and pin one end of the handle here, lining up the raw edges. Repeat for the other end of the handle, again measuring 3" in from the other edge, ensuring your handle is not twisted. Repeat the process to pin the second handle to the other end of the fabric.
Cut a piece of 1/4" elastic about 12" long. Pin both ends to the center of the fabric, lining up the raw/cut edges, to form a loop. (You need the elastic only on one end.)
Sew on the handles. I used my serger to stitch and finish the edges (red lines in the photo below), then used my regular sewing machine to add short rows of stitches at each end of each handle (yellow dots in the photo).
Place the lining fabric on top of the main fabric, right sides together. (I first finished the edges of my lining with my serger, thought it's not shown here.) Stitch two rows along each edge (red lines in the photo). The second row should be about 1" in from the edge.
The next step is hard to explain. It's a bit of a spatial relations test. :P The goal is to fold the fabric so that the raw edges of the main fabric line up continuously with the raw edges of the lining fabric, right sides together. This allows you to stitch the side seam of the main fabric and the side seam of the lining fabric in one seam.
In the photo below, one raw edge is at the top of the photo and the other raw edge is at the bottom of the photo. The bottom fold of the main fabric is to the left and the bottom fold of the lining fabric is to the right in the photo. The seams you just stitched to attach the handles are along the middle top-to-bottom line.
Stitch the fabric together along the raw edges. These will be the side seams of the bag. One seam (shown in a red line at the top of the photo) can be a continuous seam. In the other (shown in red lines at the bottom of the photo), leave an opening of about 4" in the lining fabric.
Stitch the bottom corners. Fold the fabric diagonally along the notches so the raw edges line up, right sides together. (In the photo below, the green dots show the inner corners of the notches and the red line shows the side seam you stitched in the last step.) Add a second line of stitching for strength.
Reach through the opening you left in the side seam of the lining and pull all the fabric back through it, turning your bag outside out. Stitch the opening closed.
Tuck the lining down into the bag. Press along the top opening of the bag.
Topstitch along the top opening of the bag. This keeps the lining in place and further secures the handles.
Sew a shank button to the outside of the bag, on the same side as the elastic loop, about 1.5" down from the top.
To fold up the bag, first fold it in thirds lengthwise (fold toward the side without the button).
Then fold the handles down.
Then fold/roll up from the bottom and secure the elastic loop around the button.
Here's the bag with groceries in it to give a sense of size. Inside the bag are five cans of vegetables, a box of crackers, a box of spaghetti, a bag of crisps, and loaf of bread.
With the double and triple seams, the bags are quite strong. Folded up, they're easy to carry around. They're also machine washable. I use mine for groceries, much to the amusement of the cashiers. :)