I would probably go 29. My deep indigos haven't really stretched much except for the waist with about 8 months total wear. They would fit a person with a 32" waist snuggly. So that's really not that much bigger than your 31.5 waist, plus you can wear a belt which is what I do. The thighs measure 11" so not sure how tight you want the thighs to be and since my thighs are around 18" they haven't stretched. You might be able to get them to stretch a little.