This study was undertaken to experimentally investigate the feasibility of applying CO2 flooding in a carbonate heterogeneous oil reservoir. Actual core samples and fluids were used to carry out the experiments. A complete fluid and rock analyses had been performed. The minimum miscibility pressure (MMP) was determined using empirical correlations and slim tube tests. The swelling and saturation pressure tests were also conducted. The composition of the reservoir rocks were analyzed in detail using SEM, EDS, and ICP-AES. The pay zone under investigation was accurately characterized. Various core flood tests were undertaken to study the effects of CO2 injection pressure, mobile oil saturation, CO2 slug size, and oil viscosity on oil recovery by CO2 flooding. The results indicated that the application of reservoir Characterization Number (CN) technique provided better and accurate reservoir rock characterization than those obtained by classic methods. The results also showed that immiscible CO2 flooding was capable of mobilizing oil but miscible mode recovered more oil. The CO2 slug size was optimized to be 15 % PVI driven by brine and the increase of mobile oil saturation increased the oil recovery while the increase of oil viscosity reduced the attained oil recovery by the miscible CO2 flooding.