|This has come up in the message boards a lot lately, so I thought I'd put in my two cents here.
Woven fabric such as broadcloth and muslin that is off grain can sometimes be returned to the correct grain by tearing off both cut ends, and pulling the fabric along the diagonal until the ends and selvages line up. Sometimes you need to dampen the fabric, straighten it, and then iron it into submission. Sometimes it takes a bit more work, such as steaming it, straightening it, and pinning it into the straight grain, then ironing it.
Sometimes, however, the fabric is forever set in its off-grain-ness, and nothing--but nothing--will get it to be on-grain in both the warp (lengthwise grain) and weft (crosswise grain). It seems to be something to do with how the fabric was treated at the factory, and no power on earth will return the fabric to the way it should be.
In that case you can do a couple of things:
1. Throw it out. This is the only answer for fabric that has a plaid or a crosswise stripe, or a regularly-patterned fabric like a toile, where everyone would notice that the print is not symmetrical.
2. Fold it with selvages matching on the lengthwise grain so that there are no wrinkles along the fold and use it. This can apply to vertical stripes or plain colored fabric. Some twills, I have found will simply refuse to lie on the perfect crosswise grain (this is possibly due to the weave), and I've never had any luck tearing them across the crosswise grain anyway, so for this kind of fabric, it may be more or less "normal."
One more important point: If you have gone to the trouble to work your fabric to its correct grain, before you cut it out it's worth the extra step to lay it flat on a table and vigorously steam it, then allow it to cool and dry without any manipulation overnight. You may find that your meticulously reworked fabric has returned to its horrible off-grain self. In that case, go back to points 1 and 2 above and decide what to do with it.