Tumor cellular heterogeneity presents significant challenges and opportunities for understanding the biology and treatment of cancer. The tumor cell component, immune/stroma cell component, and the normal parenchyma contamination are three separate entities that need to be considered separately. However, previous statistical methods have failed to consider this problem properly. Here, we developed DisHet, a three-component dissection algorithm, for evaluating the tumor cellular heterogeneity at the gene expression level. DisHet is based on a novel and efficient Bayesian Hierarchical model. In addition, DisHet leveraged the advantages of both raw-scale and log-scale count expression data, and used informative priors to incorporate previous knowledge. Applying DisHet analyses on real renal cell carcinoma (RCC) data, we identified more than two times as many novel immune/stromal transcripts. By using refined immune/stroma-specific genes and genomics, electronic medical record data and imaging data of >1,080 RCC patients, we discovered a highly-inflamed pan-RCC subtype with aggressive prognosis.