This paper presents fault diagnosis and problem solving under uncertainty by a Bayesian supported knowledge-intensive case-based reasoning (CBR) system called BNCreek. In this system, the main goal is to diagnose the causal failures behind the symptoms in complex and uncertain domains. The system’s architecture is described in three aspects: the general, structural, and functional architectures. The domain knowledge is represented by formally defined methods. An integration of semantic networks, Bayesian networks, and CBR is employed to deal with the domain uncertainty. An experiment is conducted from the oil well drilling domain, which is a complex and uncertain area as an application domain. The system is evaluated against the expert estimations to find the most efficient solutions for the problems. The obtained results reveal the capability of the system in diagnosing causal failures.