This Cardiff family added a substantial rear extension to their period home. They needed a kitchen confident enough to anchor the new open-plan space while still feeling connected to the character of the original house. They wanted to ensure its stained-glass front door and warm timber joinery still very much part of the story just beyond the kitchen threshold.
The result is a classic two-tone shaker design: soft ivory wall and tall units contrasted with deep charcoal-grey base cabinetry and a striking tongue-and-groove panelled peninsular. The whole kitchen was then topped throughout in a light, durable Silestone worktop. A full-height glass splashback keeps the cooking zone bright and easy to maintain behind a statement range cooker. Whilst a large square skylight and full width bi-fold doors flood the extension with natural light and open the whole room directly onto the garden.
A round oak breakfast bar has been integrated into the peninsular, giving the family an easy, sociable spot for breakfast without competing with the more formal dining space. It's a great example of how a considered kitchen extension can feel like the natural, light-filled heart of a period home, rather than a bolted-on addition. All together bringing garden, dining and cooking together in one genuinely liveable space.
Are you planning a kitchen extension in the future? Feel free to get in touch. Together, we can create a space that works in synergy with the rest of your home.
{ if (window.innerWidth >= bp.minWidth) enabled = bp.enabled; });
if (!enabled) return;
const pic = $el.closest('picture');
const light = pic && pic.querySelector('source[data-lightbox-role="light"]');
const dark = pic && pic.querySelector('source[data-lightbox-role="dark"]');
$dispatch('image-lightbox-open', {
id: 'rw06878FB9_569F_4D09_ADCE_4ACEEA22BD19',
src: (light && light.getAttribute('srcset')) || $el.currentSrc || $el.src,
srcDark: (dark && dark.getAttribute('srcset')) || null,
alt: $el.alt,
});
" oncontextmenu="return false" ondragstart="return false" onmousedown="return false" decoding="async" />
{ if (window.innerWidth >= bp.minWidth) enabled = bp.enabled; });
if (!enabled) return;
const pic = $el.closest('picture');
const light = pic && pic.querySelector('source[data-lightbox-role="light"]');
const dark = pic && pic.querySelector('source[data-lightbox-role="dark"]');
$dispatch('image-lightbox-open', {
id: 'rwEAD5CF18_5C50_444F_9196_DA7CADBE6151',
src: (light && light.getAttribute('srcset')) || $el.currentSrc || $el.src,
srcDark: (dark && dark.getAttribute('srcset')) || null,
alt: $el.alt,
});
" oncontextmenu="return false" ondragstart="return false" onmousedown="return false" decoding="async" />
{ if (window.innerWidth >= bp.minWidth) enabled = bp.enabled; });
if (!enabled) return;
const pic = $el.closest('picture');
const light = pic && pic.querySelector('source[data-lightbox-role="light"]');
const dark = pic && pic.querySelector('source[data-lightbox-role="dark"]');
$dispatch('image-lightbox-open', {
id: 'rw0602195D_4633_44E9_ADC9_A5D9FB6742D1',
src: (light && light.getAttribute('srcset')) || $el.currentSrc || $el.src,
srcDark: (dark && dark.getAttribute('srcset')) || null,
alt: $el.alt,
});
" oncontextmenu="return false" ondragstart="return false" onmousedown="return false" decoding="async" />
{ if (window.innerWidth >= bp.minWidth) enabled = bp.enabled; });
if (!enabled) return;
const pic = $el.closest('picture');
const light = pic && pic.querySelector('source[data-lightbox-role="light"]');
const dark = pic && pic.querySelector('source[data-lightbox-role="dark"]');
$dispatch('image-lightbox-open', {
id: 'rw008E5A6A_41DF_47BE_8077_93BAB86F4B15',
src: (light && light.getAttribute('srcset')) || $el.currentSrc || $el.src,
srcDark: (dark && dark.getAttribute('srcset')) || null,
alt: $el.alt,
});
" oncontextmenu="return false" ondragstart="return false" onmousedown="return false" decoding="async" />
{ if (window.innerWidth >= bp.minWidth) enabled = bp.enabled; });
if (!enabled) return;
const pic = $el.closest('picture');
const light = pic && pic.querySelector('source[data-lightbox-role="light"]');
const dark = pic && pic.querySelector('source[data-lightbox-role="dark"]');
$dispatch('image-lightbox-open', {
id: 'rw6CAA0158_F99A_45C3_BD3F_B34AA160739A',
src: (light && light.getAttribute('srcset')) || $el.currentSrc || $el.src,
srcDark: (dark && dark.getAttribute('srcset')) || null,
alt: $el.alt,
});
" oncontextmenu="return false" ondragstart="return false" onmousedown="return false" decoding="async" />
{ if (window.innerWidth >= bp.minWidth) enabled = bp.enabled; });
if (!enabled) return;
const pic = $el.closest('picture');
const light = pic && pic.querySelector('source[data-lightbox-role="light"]');
const dark = pic && pic.querySelector('source[data-lightbox-role="dark"]');
$dispatch('image-lightbox-open', {
id: 'rw06CA398A_CC83_4D2A_995E_B0F15447D3DB',
src: (light && light.getAttribute('srcset')) || $el.currentSrc || $el.src,
srcDark: (dark && dark.getAttribute('srcset')) || null,
alt: $el.alt,
});
" oncontextmenu="return false" ondragstart="return false" onmousedown="return false" decoding="async" />
{ if (window.innerWidth >= bp.minWidth) enabled = bp.enabled; });
if (!enabled) return;
const pic = $el.closest('picture');
const light = pic && pic.querySelector('source[data-lightbox-role="light"]');
const dark = pic && pic.querySelector('source[data-lightbox-role="dark"]');
$dispatch('image-lightbox-open', {
id: 'rwA378F7BD_9F56_4E07_B105_9B68D3638878',
src: (light && light.getAttribute('srcset')) || $el.currentSrc || $el.src,
srcDark: (dark && dark.getAttribute('srcset')) || null,
alt: $el.alt,
});
" oncontextmenu="return false" ondragstart="return false" onmousedown="return false" decoding="async" />
{ if (window.innerWidth >= bp.minWidth) enabled = bp.enabled; });
if (!enabled) return;
const pic = $el.closest('picture');
const light = pic && pic.querySelector('source[data-lightbox-role="light"]');
const dark = pic && pic.querySelector('source[data-lightbox-role="dark"]');
$dispatch('image-lightbox-open', {
id: 'rwE727A01A_DD50_4CB4_AA29_2FF9755634CE',
src: (light && light.getAttribute('srcset')) || $el.currentSrc || $el.src,
srcDark: (dark && dark.getAttribute('srcset')) || null,
alt: $el.alt,
});
" oncontextmenu="return false" ondragstart="return false" onmousedown="return false" decoding="async" />