Sevilla is the best spot for both. Not sure when the bull fighting season(?) is though. You can get a tour of of their ring even if there are not performances. Make sure you visit a bull bar in Madrid though.
For Flamenco, we went across the river to Triana where we saw a show for cheap. We were the only Americans in the place. I think it was much more authentic than what you get from advertised places. It was a while ago, so I do not remember the name or location, but just that it was in Triana. We stumbled on it by accident.