Design based on linear-elastic analysis has been found not to provide an accurate representation of the behaviour of steel structures. The introduction of limit state design created the expectation that ultimate limit state would be based on inelastic behaviour. Opportunities for ultimate resistances to be calculated using plastic stress blocks is available in design codes, however designers still assess ultimate load and action effects using elastic analysis. An experimental and theoretical investigation of a cold-formed steel portal frame is done to try and address this problem. The rafter and column members are formed from single cold-formed channel sections, which are bolted, back-to-back at the eaves and apex joints, and connected to the foundation through angle irons. The design of the frame members follows the traditional approach of applying the effective width method to control local buckling, followed by an assessment of cross-sectional and buckling requirements. However, the yield and overall buckling requirements are modified by a factor of 0.8 to account for stress concentrations, shear lag and bearing deformations in the connections. The non-linear moment-rotation response exhibited late in the loading sequence of structures 1, 3 and 4 is attributed, primarily, to bolt-bearing deformation and local yielding of the flange below the inside bolt. It is demonstrated both experimental and conveniently using the mixed flexibility approach that such frames can achieve the required rotation capacity needed for inelastic analysis.